您的位置:首页 > 编程语言 > Java开发

Tess4j图片文字识别

2016-06-25 00:00 225 查看
摘要: 图片文字识别

最近工作可能会用到图片文字识别,所以提前储备一些相关的知识,貌似tess4j的口碑不错,但是最后的遇到的问题是中文识别率不够高,看看还有什么其他开源工具能够使用。

在自己搭建环境,遇到的各种问题还是记录一下。

机器环境:64位win7

开发环境:jdk7 64位

一、准备工作:

既然是需要识别文字,那肯定需要软件的支撑,首先在本机安装一个tesseract-ocr,

具体的版本根据自己的实际情况来把,我安装的版本是tesseract-ocr-setup-3.02.02

这个软件必须要安装,否则程序会报错的。

由于该功能后期会集成到web中,所以建立了web工程,选择开始准备文件:

1.需要准备的dll文件(需要区分32和64位的机器)



2.所有需要的jar文件如图:



3.需要的支持识别语言文件:



最后整个过程如图:



其中红色部分是我自己打的jar包,里面就是tess4j的源代码,这个明确下,里面内容没有去整理。

二、测试功能:

根据Tess4j官网给出的示例程序,示例程序太特么爽歪歪了,好吧我直接运行之后结果如下:

File imageFile = new File("d:\\123.png");
ITesseract instance = Tesseract.getInstance() ;
String result = instance.doOCR(imageFile);

允许后得到的结果如下,你大爷,啥玩意这是:



刚开始我也很纳闷,不过随即想到,既然你有一个tessdata用来存放识别的支持语言,那么这里肯定就需要我们来设置一下语言,大概和我们设置什么gbk类似,原谅我模样认真的去查看他们的文档,于是修改添加一行代码:

File imageFile = new File("d:\\123.png");
ITesseract instance = Tesseract.getInstance() ;

instance.setLanguage("chi_sim");//设置识别语言
String result = instance.doOCR(imageFile);

设置之后的的识别结果如下:



好歹算是识别出来了,识别率再继续研究下文档,看看如何提高识别率,再来更新文档.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  tess4j Java