关于印刷文字识别依然是图像领域的难点问题,还有很多的单位或个人希望拥有自己的语言识别模型。近来,在各大论坛、学习交流群、后台私信等还会看到仍然有同种志群的人才再不断的加入这个领域。
小编初做文字识别方面的调研工作时,也耗费了不少精力,算个入门吧!
把当初记录在CSDN,关于如何使用tesseract-ocr训练属于自己的模型/语言库,分享至此。
希望对在这条路上摸索的小伙伴,有所帮助。
训练过程中涉及到的工具,文中都有下载链接。
以下,以训练数字0~9为例,同样可以训练汉字(前提是准备相应的符合规格的图像集。)
Tesseract是一个开源的OCR(Optical Character Recognition,光学字符识别)引擎,可以识别多种格式的图像文件并将其转换成文本,目前已支持60多种语言(包括中文)。 Tesseract最初由HP公司开发,后来由Google维护,目前发布在Googel Project上。
一、使用默认的语言库识别
1.安装Tesseract
http://code.google.com/p/tesseract-ocr/downloads/list下载Tesseract,目前版本为Tesseract3.02。因为只是测试使用,这里直接下载winodws下的安装文件tesseract-ocr-setup-3.02.02.exe。安装成功后会在相应磁盘上生成一个Tesseract-OCR目录。通过目录下的tesseract.exe程序就可以对图像字符进行识别了。
2.准备一副待识别的图像,这里用画图工具随便写了一串数字,保存为0.jpg,如下图所示:
3.训练。打开命令行(cmd),定位到Tesseract-OCR目录,输入命令:
tesseract.exe 0.jpg result -l eng
其中result表示输出结果文件txt名称,eng表示用以识别的语言文件为英文。
4.查看结果。打开Tesseract-OCR目录下的result.txt文件,看到识别的结果为7542315857,有3个字符识别错误,识别率还不是很高,那有没有什么方法来提供识别率呢?Tesseract提供了一套训练样本的方法,用以生成自己所需的识别语言库。下