java使用tesseract-ocr进行图片文字识别
程序员文章站
2022-03-02 13:49:06
...
1 加依赖
<dependency>
<groupId>net.sourceforge.tess4j</groupId>
<artifactId>tess4j</artifactId>
<version>3.4.8</version>
</dependency>
2 在src同组目录新建tessdata文件夹(很重要)
3 下载chi_sim.traineddata文件并放到tessdata文件夹下
链接:https://pan.baidu.com/s/14c2KlfZw68iPdfpiMbZyDw
提取码:7rkm
4 java代码示例
import java.io.File;
import net.sourceforge.tess4j.ITesseract;
import net.sourceforge.tess4j.Tesseract;
import net.sourceforge.tess4j.TesseractException;
/**
* java图像识别
* likang
* 2018-7-13
*/
public class OCRDemo {
public static void main(String[] args) throws TesseractException {
ITesseract instance = new Tesseract();
//如果未将tessdata放在根目录下需要指定绝对路径
//设置训练库的位置
// instance.setDatapath("the absolute path of tessdata");
//如果需要识别英文之外的语种,需要指定识别语种,并且需要将对应的语言包放进项目中
// chi_sim :简体中文, eng 根据需求选择语言库
instance.setLanguage("chi_sim");
// 指定识别图片
File imgDir = new File("D:\\imageOCR\\test.jpg");
long startTime = System.currentTimeMillis();
String ocrResult = instance.doOCR(imgDir);
// 输出识别结果
System.out.println("识别结果: \n" + ocrResult + "\n 耗时:" + (System.currentTimeMillis() - startTime) + "ms");
}
}
下一篇: 一个合并两个表的差异数据的解决方案