tesseract训练新字库
今天我要讲一下如何生成新的识别库
请注意:在您的电脑上安装有tesseract软件 和 jTessBoxEditor软件 系统为ubuntu
下载地址:tesseract:https://code.google.com/p/tesseract-ocr/downloads/list
jTessBoxEditor:http://vietocr.sourceforge.net/training.html
1.新建一个文件夹test 该文件夹会保存本次项目所有的文件
将需要的字库图片放到test目录下,文件名为lang.fond.exp0.jpg
Lang 为语言 fond 为字体 我们用的是chi.test.exp0.jpg
这个图片文件需要自己生成。
2.生成box文件。
tesseract chi.test.exp0.jpg chi.test.exp0 batch.nochop makebox
该操作将会生成chi.test.exp0.box文件。这个文件描述了图片里所有字的框架
3.下面我们就要编辑这个box文件
可以看出来文件识别多错了,并且文字框架也有不对的,所以我们要对所有的框架编辑。
修改成这样。中文先用拼音代替。因为这个软件不能打中文。
将里面的拼音改成中文
4.运行tesseract chi.test.exp0.jpg chi.test.exp0 box.train
这一步生成chi.test.exp0.tr文件
5.运行unicharset_extractor chi.test.exp0.box
这一步生成unicharset文件
6.下面就要新建字体文件
font_properties 文件内容为test1 0 0 1 0
7.运行 shapeclustering -F font_properties -U unicharset chi.test.exp0.tr
生成shapetable文件
8.运行mftraining -F font_properties -U unicharset -O chi.unicharset chi.test.exp0.tr
生成chi.unicharset inttemp这两个文件。
9.运行cntraining chi.test.exp0.tr
生成normproto这个文件
10.下面就要合并这些文件了,生成一个字体库
在inttemp normproto pffmtable加上前缀chi.
运行combine_tessdata chi.
(注意chi后面的那个点必须要输入的)
如果第2.4.5.6行不为0.那么就算生成了字体库文件。
11.测试生成的字体库文件。
tesseract -l chi chi.test.exp0.jpg out
打开out.txt
还有一些识别错误,需要优化。