简介
做图像识别,可以使用TESSERACT-OCR来实现,但是该方式需要下载软件,在电脑上安装环境,移植性不高,使用Tess4J只需要下载相关Jar包,导入项目,再把项目封装好就可以处处运行了。
Test4J官网:http://tess4j.sourceforge.net/
Maven依赖:
<dependency><groupId>net.sourceforge.tess4j</groupId><artifactId>tess4j</artifactId><version>4.5.3</version>
</dependency>
示例代码下载地址: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");}}
结果
-
待识别的图片
-
识别结果