参考网站:
tesseract训练
命名
为了方便tif文面命名格式[lang].[fontname].exp[num].tif
lang是语言fontname是字体比如我们要训练自定义字库image字体名MyFont那么我们把tif文件重命名image.MyFont.exp0.tif生成box文件tesseract image.MyFont.exp0.tif image.MyFont.exp0 -l chi_sim batch.nochop makebox
调整box
训练,生成.tr训练文件tesseract mjorcen.normal.exp0.jpg mjorcen.normal.exp0 nobatch box.train
计算字符集unicharset_extractor mjorcen.normal.exp0.box
字体属性
新建一个font_properties文件
里面内容写入normal 0 0 0 0 0表示默认普通字体。Clustering
生成主形状表shapetableshapeclustering -F font_properties -U unicharset mjorcen.normal.exp0.tr
形状原型inttemp, 每个字符所希望的特征pffmtablemftraining -F font_properties -U unicharset -O unicharset mjorcen.normal.exp0.tr
数据文件normprotocntraining mjorcen.normal.exp0.tr
合并文件font.traineddata
把目录下的unicharset、inttemp、pffmtable、shapetable、normproto这五个文件前面都加上normal.combine_tessdata normal.
必须确定的是第2、4、5、6行的数据不是-1,那么一个新的字典就算生成了。
字符识别数据集
使用多张训练图片进行训练。完成
将多个traineddata进行合并。不行。
利用字体文件生成训练集,进行自动化训练。Text2image
要训练一个新的语言(自定义语言或者某种自然语言都可以)对应的traineddata文件,需要产生下列过程文件:
? lang.config
? lang.unicharset
?lang.unicharambigs
? lang.inttemp
? lang.pffmtable
? lang.normproto
? lang.punc-dawg
? lang.word-dawg
?lang.number-dawg
? lang.freq-dawg
在这八个文件中,红色标示的是必须的,其他的文件可选。当这些文件都准备好之后,再使用combine_tessdata进行最后的合并工作,生成lang.traineddata,这个文件就是最终训练出来语言库。下面再来说一下如何产生上述的文件:
tesseract image.tifoutput -l lang
使用我们刚刚训练好的lang.traineddata文件来识别图形。识别出来的结果将会存放在output.txt文件中。
tesseract API 文档
utf-8问题
opencv编译freeType库,显示中文
openCV文字检测mser
VS编译opencv_contrib
问题: