相关源码、资源下载:http://code.google.com/p/tesseract-ocr/downloads/list
训练步骤:
1、 Generate Training Images:生成tif图像文件(简单的几个汉字);
如:ABC.Roman.exp0.tif([lang].[fontname].exp[num].tif)
2、 Make Box Files:由上tif图像文件生成box文件;由tesseract.exe生成box文件;打开生成的box文件,修改其中不正确的部分;
配置文件参数:"batch.nochop", "makebox"
运行文件:tesseractmain.cpp
3、 Run Tesseract for Training:
配置文件参数:"nobatch", "box.train"或"nobatch", "box.train.stderr"
运行文件:tesseractmain.cpp
生成的文件包括:ABC.Roman.exp0.tr 、ABC.Roman.exp0.txt
4、 Compute the Character Set:
运行文件:unicharset_extractor.cpp
生成的文件:unicharset
5、 font_properties:
需要自己创建一个txt文件,如font_properties.txt
运行文件:mftraining.cpp
生成的文件:inttemp、Microfeat、pffmtable、ABC.unicharset
6、 Clustering:
运行文件:mftraining.cpp(类似5)
运行文件:cntraining.cpp
生成的文件:normproto
7、 Dictionary Data:
需要自己创建5个txt文件,如:frequent_words_list.txt、words_list.txt、punc_list.txt、number_list.txt、user_words_list.txt
运行文件:wordlist2dawg.cpp
生成的文件:ABC.freq-dawg、ABC.word-dawg、(ABC.punc-dawg、ABC.number-dawg、ABC.user-words)
8、 The last file:
需要自己手动创建一个unicharambigs文件
9、 Putting it all together:
将normproto, Microfeat, inttemp, pffmtable四个文件重命名以ABC.为前缀,分别改为ABC.normproto, ABC.Microfeat, ABC.inttemp, ABC.pffmtable
运行文件:combine_tessdata.cpp
生成的文件:ABC.traineddata
以上的所有.cpp文件均可以根据自己的实际要求进行相应的修改。
使用:
将生成的ABC.traineddata文件拷贝到tessdata目录下,然后调用tesseractmain.cpp文件执行即可。
参考文献:
1、 http://code.google.com/p/tesseract-ocr/wiki/TrainingTesseract3
2、 http://www.docin.com/p-216160535.html
3、 http://blog.wudilabs.org/entry/f25efc5f/
4、 http://blog.csdn.net/dyfleoo/article/details/6959591
5、 http://blog.csdn.net/fengbingchun/article/details/6920667