最近因为公司项目需求的原因,在学习使用OCR tesseract,关于自己的学习想在这做个简单的概括,希望能帮到遇到同样问题的人。关于tesseract的使用,网上的博客已经有很多详细的讲解,在这我就说说我遇到的问题:中文无法识别。一开始我也特别不理解,都是按照教程来的,为什么就是不行,一直报下面这个问题
后来经过多番搜索查阅才知道是因为中文包的版本和tesseract.exe的版本不同造成的。因为我在官网上下载的中文包是最新版本的,而我下载的tesseract安装包并不是最新版本(我使用的是window系统),因为在文档里有这么一句话:Currently, there is no official Windows installer for newer versions.意思就是官方不提供最新版Windows安装包,只有相对略老的3.02版本。就是因为这个原因把我折腾了很久。解决方法就是下载和tesseract相同版本的中文安装包
放一个可以下载的链接:https://sourceforge.net/projects/tesseract-ocr-alt/files/
身份证号识别
因为中文的识别率不是很高,所以公司决定暂时先做身份证号的识别
首先先来看下测试结果
这样的测试结果看着也是挺忧伤的,解决方法:
找到安装目录下的
tessdata\configs,打开其中的digits文件,使用文本编辑就可以了
我的安装目录是这样的:C:\Program Files (x86)\Tesseract-OCR\tessdata\configs
打开digits后会看到这句话:
tessedit_char_whitelist 0123456789-.
改为:
tessedit_char_whitelist 0123456789X.
在测试下,但是命令需要变一下,后面改为digits
tesseract idnum.png result digits
现在是不是就要好很多了
好了,上面就是我最近学习OCR tesseract的一些拙见,希望能帮到有相同问题的朋友。虽然看英文文档对于我这样英语很渣的人来说有点痛苦,但是多看文档还是很有帮助的吧