简介
做图像识别,可以使用TESSERACT-OCR来实现,但是该方式需要下载软件,在电脑上安装环境,移植性不高,使用Tess4J只需要下载相关Jar包,导入项目,再把项目封装好就可以处处运行了。 Test4J官网:http://tess4j.sourceforge.net/
Maven依赖:
net.sourceforge.tess4j
tess4j
4.5.3
示例代码下载地址:https://download.csdn.net/download/lianghecai52171314/12916109
示例 第一步:创建项目,导入Maven依赖 第二步:下载tess4j的源码,将其中的tessdata文件夹,复制到工程中tessdata下放的是语言库,默认的有英语库,中文库需要另外下载,下载地址:https://github.com/tesseract-ocr/tessdata/blob/master/chi_sim.traineddata。 目录中放置的是待识别的图片。
import java.io.File;
import net.sourceforge.tess4j.ITesseract;
import net.sourceforge.tess4j.Tesseract;
import net.sourceforge.tess4j.TesseractException;
/**
* java图像识别
*/
public class Test4JDemo {
public static void main(String[] args) throws TesseractException {
//如果未将tessdata放在根目录下需要指定绝对路径
String path = "E:/Workspaces/Module/Tess4JDemo/";
ITesseract instance = new Tesseract();
//设置训练库的位置
instance.setDatapath(path + "tessdata");
//如果需要识别英文之外的语种,需要指定识别语种,并且需要将对应的语言包放进项目中
// chi_sim :简体中文, eng 根据需求选择语言库
instance.setLanguage("eng");
// 指定识别图片
File img = new File(path + "imgs/1602229331516.jpg");
long startTime = System.currentTimeMillis();
String result = instance.doOCR(img);
// 输出识别结果
long endTime = System.currentTimeMillis();
System.out.println("识别结果: \n" + result + "\n 耗时:" + (endTime - startTime) + "ms");
}
}
结果
-
待识别的图片
-
识别结果