大家好,又见面了,我是你们的朋友全栈君。
Tess4J是对Tesseract OCR API的Java JNA 封装。tesseract是跨平台的OCR(Optical Character Recognition,光学字符识别)引擎,让开发者非常容易的集成OCR能力到他们自己的应用。通过强大的API从图片中识别和提取文本内容。Tess4J支持主流的图片格式,如TIFF,JPEG,GIF,PNG,BMP,and PDF。 OCR(Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程;即,针对印刷体字符,采用光学的方式将纸质文档中的文字转换成为黑白点阵的图像文件,并通过识别软件将图像中的文字转换成文本格式,供文字处理软件进一步编辑加工的技术。如何除错或利用辅助信息提高识别正确率,是OCR最重要的课题,ICR(Intelligent Character Recognition)的名词也因此而产生。衡量一个OCR系统性能好坏的主要指标有:拒识率、误识率、识别速度、用户界面的友好性,产品的稳定性,易用性及可行性等。
1、maven依赖
<!– https://mvnrepository.com/artifact/net.sourceforge.tess4j/tess4j –> <dependency> <groupId>net.sourceforge.tess4j</groupId> <artifactId>tess4j</artifactId> <version>4.3.1</version> </dependency>
2、示例代码
String path = “D:\wspace\tess4j-demo2”; //测试数据路径 File file = new File(path “\test-data\testPhone.jpg”); ITesseract instance = new Tesseract(); File directory = new File(path); String courseFile = null; try { courseFile = directory.getCanonicalPath(); } catch (IOException e) { e.printStackTrace(); } //设置训练库的位置 instance.setDatapath(courseFile “\tessdata”); // instance.setLanguage(“eng”);//chi_sim :简体中文, eng 根据需求选择语言库 // instance.setLanguage(“chi_sim”);//chi_sim :简体中文, eng 根据需求选择语言库 // instance.setLanguage(“num”);//自定义的训练库 instance.setLanguage(“hz”);//自定义的训练库 String result = null; try { long startTime = System.currentTimeMillis(); result = instance.doOCR(file); long endTime = System.currentTimeMillis(); System.out.println(“Time is:” (endTime – startTime) ” 毫秒”); } catch (TesseractException e) { e.printStackTrace(); } System.out.println(result);
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/144052.html原文链接:https://javaforall.cn