业务过程中使用到的图像处理记录
Java使用Tess4J 实现简单的图像识别
maven添加
<dependency>
<groupId>net.sourceforge.tess4j</groupId>
<artifactId>tess4j</artifactId>
<version>4.5.1</version>
</dependency>
需要用的什么语言包之类的东西
语言库下载地址: https://github.com/tesseract-ocr/tessdata.
下载过程中遇见了问题:https://blog.csdn.net/q764424567/article/details/107375040/这个博客的问题
https://www.cnblogs.com/1228073191Blog/p/10735467.html
需要注意的问题
有一个问题 我的测试环境使用的是win10的环境,使用4.X.X版本的话,会因为vc的版本问题,出现加载不到对应的模块的异常,目前是通过降低版本:3.2.1 解决的问题。(待研究 为什么出现这个问题)
demo
// 识别图片的路径(修改为自己的图片路径)
String path = "C:\\Users\\Administrator\\Desktop\\login.png";
// 语言库位置(修改为跟自己语言库文件夹的路径)
String lagnguagePath = "E:\\tessdata";
File file = new File(path);
// ITesseract instance = new Tesseract();
Tesseract 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);