Tesseract-OCR的 实现训练

借鉴网站:http://www.cnblogs.com/cnlian/p/5765871.html

首先,安装Tesseract_OCR ,jTessBoxEditor 和 numpy 

(numpy 在我的win10 python3.6下安装后import 失败DLL load fail,找了半天错误,最后去下了个32位的whl后正常运行,http://www.lfd.uci.edu/~gohlke/pythonlibs/)


大体流程为:安装jTessBoxEditor -> 获取样本文件 -> Merge样本文件 –> 生成BOX文件 -> 定义字符配置文件 -> 字符矫正 -> 执行批处理文件 -> 将生成的traineddata放入tessdata中

下载jTessBoxEditor,地址https://sourceforge.net/projects/vietocr/files/jTessBoxEditor/;解压后得到jTessBoxEditor,由于这是由Java开发的,所以我们应该确保在运行jTessBoxEditor前先安装JRE(Java Runtime Environment,Java运行环境)。

Merge样本文件

打开jTessBoxEditor,Tools->Merge TIFF,将样本文件全部选上,并将合并文件保存为num.font.exp0.tif

生成BOX文件

打开命令行并切换至num.font.exp0.tif所在目录,输入,生成文件名为num.font.exp0.box

tesseract num.font.exp0.tif num.font.exp0 batch.nochop makebox

【语法】:tesseract [lang].[fontname].exp[num].tif   [lang].[fontname].exp[num] batch.nochop makebox  

lang为语言名称,fontname为字体名称,num为序号;在tesseract中,一定要注意格式。

字符矫正

打开jTessBoxEditor,BOX Editor -> Open,打开num.font.exp0.tif;矫正<Char>上的字符,记得<Page>有好多页噢!

 Tesseract-OCR的 实现训练

修改后记得保存。

而后我使用了一个git 上面的项目来完成其余的步骤

https://github.com/REMitchell/tesseract-trainer

具体可以新建一个新文件夹,将合并的 tif(需要改成tiff) 和 box 放入其中,改变项目的参数,运行即可得到 eng.traineddata文件,将eng改成任何你想改的xxx

最后

tesseract test.png output_2 -l xxx

【语法】:  tesseract imagename outputbase [-l lang] [-psm pagesegmode] [configfile…]

imagename为目标图片文件名,需加格式后缀;outputbase是转换结果文件名;lang是语言名称(在Tesseract-OCR中tessdata文件夹可看到以eng开头的语言文件eng.traineddata),如不标-l eng则默认为eng。

 Tesseract-OCR的 实现训练