OCR 训练 中文语言包

1.下载tesseract安装配置环境变量

环境变量:将OCR根目录配置到环境path里

添加 TESSDATA_PREFIX 为语言包的路径

2.修改tif 文件名称

  tif文件命名格式[lang].[fontname].exp[num].tif

  lang是语言,fontname是字体,num为自定义数字。

 比如我们要训练自定义字库 hyfontlab,字体名normal,那么我们把图片文件命名hyfontlab.normal.exp0.tif

3.训练图片

cmd 到图片路径并执行

tesseract hyfontlab.normal.exp0.tif hyfontlab.normal.exp0 -l chi_sim batch.nochop makebox

问题:Error opening data file D:\Program Files (x86)\Tesseract-OCR\chi_sim.traineddata

需要将chi_sim 中文包放到tessdata 下

chi_sim 资源:https://download.csdn.net/download/mp295345033/12272864

4.使用jTessBoxEditor纠正错误,

打开jTessBoxEditor点击Box Editor ->Open,打开步骤三中生成的“hyfontlab.normal.exp0.tif”,会自动关联到“hyfontlab.normal.exp0.box”文件,这两文件要求在同一目录下。调整完点击“save”保存修改。

5.生成font_properties文件(此文件没有后缀名)

   执行命令: echo normal 0 0 0 0 0 > font_properties

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

   其中fontname为字体名称,必须与[lang].[fontname].exp[num].box中的名称保持一致。<italic> 、<bold> 、<fixed> 、<serif>、 <fraktur>的取值为1或0,表示字体是否具有这些属性。

6.使用tesseract生成tr训练文件

  执行命令: tesseract hyfontlab.normal.exp0.tif hyfontlab.normal.exp0 nobatch box.train

  执行完之后,会在当前目录生成hyfontlab.normal.exp0.tr文件。

7.生成字符集文件

  执行命令: unicharset_extractor hyfontlab.normal.exp0.box

  执行下面命令:执行完之后会在当前目录生成一个名为“unicharset”的文件。

8.生成shape文件

   执行命令:  shapeclustering -F font_properties -U unicharset -O hyfontlab.unicharset hyfontlab.normal.exp0.tr

 执行完之后,会生成 shapetable 和 hyfontlab.unicharset 两个文件

  问题:Failed to load font_properties from font_propertie

1、 新建一个txt文件。命名为:font_properties>>>>>>>>>>>>>>>>>>font_properties.txt 文件

2、重命名: 把txt 后缀名去掉>>>>>>>>>>>>>font_properties 文件

3、右击》》打开方式》》文本方式打开》》》写  xxxxx 0 0 0 0 0    (xxx指的是你的字体名称)

9.生成聚字符特征文件

 执行命令: mftraining -F font_properties -U unicharset -O hyfontlab.unicharset hyfontlab.normal.exp0.tr

 会生成 inttemp、pffmtable、shapetable和hyfontlab.unicharset四个文件。

10.生成字符正常化特征文件

执行命令: cntraining hyfontlab.normal.exp0.tr

会生成 normproto 文件。

11.文件重命名

  重新命名inttemp、pffmtable、shapetable和normproto这四个文件的名字为[lang].xxx。

  这里修改为 hyfontlab.inttemp、hyfontlab.pffmtable、hyfontlab.shapetable、hyfontlab.normproto

  rename normproto zwp.normproto

12.合并训练文件

  执行下面命令,会生成hyfontlab.traineddata文件

  执行命令: combine_tessdata hyfontlab.

  Log输出中的Offset 1、3、4、5、13这些项不是-1,表示新的语言包生成成功。

  将生成的“hyfontlab.traineddata”语言包文件复制到Tesseract-OCR 安装目录下的tessdata文件夹中,就可以使用训练生成的语言包进行图像文字识别了。

猜你喜欢

转载自blog.csdn.net/mp295345033/article/details/105121866