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的口碑不错,但是最后的遇到的问题是中文识别率不够高,看看还有什么其他开源工具能够使用。
在自己搭建环境,遇到的各种问题还是记录一下。
机器环境: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);
设置之后的的识别结果如下:
好歹算是识别出来了,识别率再继续研究下文档,看看如何提高识别率,再来更新文档.
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树