补充:
Tess4j OCR图像识别框架集成
Tesseract,
一款由HP实验室开发由Google维护的开源
OCR(Optical Character Recognition , 光学字符识别)引擎,
与Microsoft Office Document Imaging(MODI)相比,
我们可以不断的训练的库,使图像转换文本的能力不断增强;
如果团队深度需要,还可以以它为模板,开发出符合自身需求的OCR引擎。
Tess4J 是Java (JNA) 对 Tesseract OCR API 的封装。
下载Tess4J的相关资源(一个压缩包),官网:http://tess4j.sourceforge.net/codesample.html
lib文件夹下放的是需要用到的Jar包,
tessdata下放的是语言库,默认的有英语库,
中文库需要另外下载,下载地址
tessdata中的一个文件:osd.traineddata
文字的方向检测 Orientation and script detection (OSD)
简单构建一个tess4j项目
新建一个Java项目,
将lib文件夹和tessdata文件夹复制到项目的根目录下,
找到dist文件夹下的tess4j.jar(名字可能有版本号),
将该文件也复制到项目根目录下的lib文件夹下。
maven构建jess4j项目
1,将所需jar包引入pom.xml
<dependencies> <dependency> <groupId>net.sourceforge.tess4j</groupId> <artifactId>tess4j</artifactId> <version>4.4.0</version> </dependency> </dependencies>
2,引用语言包
在任意地方创建一个文件夹tessdata,
将下载的chi_sim.traineddata(中文) 和 eng.traineddata(英文)语言包存放在该目录下,
也可以直接存放到自己项目的resources/tessdata目录下。
语言库下载地址:https://github.com/tesseract-ocr/tessdata
3,例子:
// 识别图片的路径(修改为自己的图片路径) String path = "D:\\test.jpg"; // 语言库位置(修改为跟自己语言库文件夹的路径) String lagnguagePath = "D:\\tessdata"; File file = new File(path); ITesseract instance = new Tesseract(); //设置训练库的位置 instance.setDatapath(lagnguagePath); //chi_sim :简体中文, eng 根据需求选择语言库 instance.setLanguage("eng"); 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: "); System.out.println(result);
补充:可选步骤:配置环境变量(TESSDATA_PREFIX)
环境变量地址指向你存放语言包的文件夹路径,如:我的语言包路径在 D:\tessdata