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文件夹中,就可以使用训练生成的语言包进行图像文字识别了。