Tesseract-OCR ---样本训练

1.下载工具jTessBoxEditor,这个工具是用来训练样本用的,由于该工具是用JAVA开发的,需要安装JAVA虚拟机才能运行。
2.获取样本图像。
3.合并样本图像。运行jTessBoxEditor工具,在点击菜单栏中Tools—>Merge TIFF。在弹出的对话框中选择样本图像(按Shift选择多张),合并成num.font.exp0.tif文件。
4.生成Box File文件。打开命令行,执行命令(执行命令前先将CMD目录位置定位到num.font.exp0.tif所在文件夹):

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

生成的BOX文件为num.font.exp0.box,BOX文件为Tessercat识别出的文字和其坐标。
注:Make Box File的命令格式为:

tesseract [lang].[fontname].exp[num].tif [lang].[fontname].exp[num] batch.nochop makebox

其中lang为语言名称,fontname为字体名称,num为序号,可以随便定义。
5.文字校正。运行jTessBoxEditor工具,打开num.font.exp0.tif文件(必须将上一步生成的.box和.tif样本文件放在同一目录),如下图所示。可以看出有些字符识别的不正确,可以通过该工具手动对每张图片中识别错误的字符进行校正。校正完成后保存即可。
这里写图片描述
6.定义字体特征文件。Tesseract-OCR3.01以上的版本在训练之前需要创建一个名称为font_properties的字体特征文件。
font_properties不含有BOM头,文件内容格式如下:

<fontname> <italic> <bold> <fixed> <serif> <fraktur>

其中fontname为字体名称,必须与[lang].[fontname].exp[num].box中的名称保持一致。 、 、 、、 的取值为1或0,表示字体是否具有这些属性。
这里在样本图片所在目录下创建一个名称为font_properties的文件(没有.txt等文件类型),用记事本打开,输入以下下内容:

font 0 0 0 0 0

这里全取值为0,表示字体不是粗体、斜体等等。
7.生成语言文件。在样本图片所在目录下创建一个批处理文件,输入如下内容。


    rem 执行改批处理前先要目录下创建font_properties文件  

    echo Run Tesseract for Training..  
    tesseract.exe num.font.exp0.tif num.font.exp0 nobatch box.train  

    echo Compute the Character Set..  
    unicharset_extractor.exe num.font.exp0.box  
    mftraining -F font_properties -U unicharset -O num.unicharset num.font.exp0.tr  

    echo Clustering..  
    cntraining.exe num.font.exp0.tr  

    echo Rename Files..  
    rename normproto num.normproto  
    rename inttemp num.inttemp  
    rename pffmtable num.pffmtable  
    rename shapetable num.shapetable   

    echo Create Tessdata..  
    combine_tessdata.exe num.  

将批处理通过命令行执行。执行后的结果如下:
这里写图片描述
需确认打印结果中的Offset 1、3、4、5、13这些项不是-1。这样,一个新的语言文件就生成了。

num.traineddata便是最终生成的语言文件,将生成的num.traineddata拷贝到Tesseract-OCR–>tessdata目录下。可以用它来进行字符识别了。
它甚至可以一次使用多个语言trainingdata,例如。英文和德文:

tesseract myscan.png out -l eng+deu
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值