大家好,又见面了,我是你们的朋友全栈君。
一、电脑中安装 tesseract ;可以参考另一篇文章:
Mac上安装 tesseract_MR.骑士道-CSDN博客_mac tesseract
二、下载 tess4j
Download Tess4J from SourceForge.net
三、创建一个普通的maven项目
创建项目如果不会的话,可以看我的另一篇springboot 项目创建:mac idea 创建 springboot 项目_MR.骑士道-CSDN博客
四、项目中倒入 tess4j/lib 下的所有jar包 和 tess4j/dist/tess4j-3.4.8.jar
五、编写测试代码
package com.tess4jdemo;
import java.io.File;
import java.io.IOException;
import net.sourceforge.tess4j.ITesseract;
import net.sourceforge.tess4j.Tesseract;
import net.sourceforge.tess4j.TesseractException;
/**
* @ClassName Test
* @Description 测试类
* @Author WangJing
* @Date 2021/5/27 10:49 上午
* @Version V1.1.0
*/
public class Test {
public static void main(String[] args){
long startTime = System.currentTimeMillis();
String imgPath = "/Users/wangjing/Desktop/ocr/test.jpeg";//图片地址
File file = new File(imgPath);
ITesseract instance = new Tesseract();
String tessData = "/Users/wangjing/Desktop/ocr/Tess4J";//tess4j 解压地址
File directory = new File(tessData);
String courseFile = null;
try {
courseFile = directory.getCanonicalPath();
} catch (IOException e) {
e.printStackTrace();
}
//设置训练库的位置
instance.setDatapath(courseFile + "//tessdata");
instance.setLanguage("eng");//chi_sim :简体中文, eng 根据需求选择语言库
String result = null;
try {
result = instance.doOCR(file);
} catch (TesseractException e) {
e.printStackTrace();
}
System.out.println("result: ");
System.out.println(result);
long endTime = System.currentTimeMillis();
System.out.println("执行时间:" + (endTime - startTime));
}
}
六、运行查看效果
6.1、原图片
6.2、识别效果
七、汉化
7.1、发现左上角仅有的几个汉字没有识别成功;接下来我们要下载汉化包:
https://raw.githubusercontent.com/tesseract-ocr/tessdata/master/chi_sim.traineddata
7.2、然后放到我们 Tess4j/tessdata 目录下;然后程序中语言改为中文:instance.setLanguage(“chi_sim”); 看下效果,非常完美
注:以上内容仅提供参考和交流,请勿用于商业用途,如有侵权联系本人删除!
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/136422.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...