java 图片识别 tess4j_图像文字识别(四):java调用tess4j识别图像文字

转自:https://blog.csdn.net/a745233700/article/details/80203340java

java调用tess4j识别图像文字

Tesseract-OCR支持中文识别,而且开源和提供全套的训练工具,是快速低成本开发的首选。前面记录过在java中调用tesseract-orc,该方法的原理是经过在java中调用cmd命令行,来执行tesseract,可是该方式须要下载软件,在电脑上安装环境,移植性不高。git

而Tess4J则是Tesseract在Java PC上的应用。若是使用Tess4J只须要下载相关Jar包,导入项目,再把项目封装好就能够到处运行了,可移植性比较好。Tess4J在英文和数字识别中性能比较好,可是在中文识别中,不管速度仍是识别率仍是较弱,所以须要针对场景进行训练,才能得到较好结果。github

这篇博客简单记录一下在java中经过调用tess4j的方式识别图片的文字内容。maven

步骤:工具

(1)下载tess4j源码包:https://sourceforge.net/projects/tess4j/性能

tessdata下默认为英语库,中文库下载地址:https://github.com/tesseract-ocr/tessdata/blob/master/chi_sim.traineddata测试

其余库的下载地址:https://github.com/tesseract-ocr/tessdataui

下载完的tess4j资源包目录以下:.net

java 图片识别 tess4j_图像文字识别(四):java调用tess4j识别图像文字_第1张图片

(2)新建一个java工程:命令行

使用Build Path -> configure build path导入dist目录下的tess4j.jar 和 lib目录下的全部jar包,以下图:

java 图片识别 tess4j_图像文字识别(四):java调用tess4j识别图像文字_第2张图片

若是是maven工程则导入如下maven依赖。

net.sourceforge.tess4j

tess4j

3.2.1

(3)把tessdata文件夹复制到项目的根目录下(与src目录同级),以下图:

java 图片识别 tess4j_图像文字识别(四):java调用tess4j识别图像文字_第3张图片

若是tessdata目录没有配置到根目录下,就须要在代码中指定datePath。

(4)编写测试类:

import java.io.File;

import net.sourceforge.tess4j.ITesseract;

import net.sourceforge.tess4j.Tesseract;

import net.sourceforge.tess4j.TesseractException;

/**

* 类说明 : tess4j测试类

*/

public class OCRDemo {

public static void main(String[] args) throws TesseractException {

ITesseract instance = new Tesseract();

//若是未将tessdata放在根目录下须要指定绝对路径

//instance.setDatapath("the absolute path of tessdata");

//若是须要识别英文以外的语种,须要指定识别语种,而且须要将对应的语言包放进项目中

instance.setLanguage("chi_sim");

// 指定识别图片

File imgDir = new File("C://Users//1_20180208150251_x4hzz//1.png");

long startTime = System.currentTimeMillis();

String ocrResult = instance.doOCR(imgDir);

// 输出识别结果

System.out.println("OCR Result: \n" + ocrResult + "\n 耗时:" + (System.currentTimeMillis() - startTime) + "ms");

}

}

(5)图片素材与识别结果:

6a2f640348e8791d8f61cb6b208c282f.png

java 图片识别 tess4j_图像文字识别(四):java调用tess4j识别图像文字_第4张图片

能够看到,tess4j在中文识别时,不管速度仍是识别率仍是较弱,须要针对场景进行训练,才能得到较好结果。

---------------------

做者:a745233700

来源:CSDN

原文:https://blog.csdn.net/a745233700/article/details/80203340

版权声明:本文为博主原创文章,转载请附上博文连接!

你可能感兴趣的:(java,图片识别,tess4j)