1、环境
软件:ImageMagick,jTessBoxEditor,tesseract-ocr-setup-3.02.02.exe,chi_sim.traindata字库。
2、步骤
一、文件命名
[lang].[fontname].exp[num].tif
jpeg,png等等格式的图片,用ImageMagick二值化转换为tif.
convert.exe -compress none -depth 8 -alpha off -monochrome ./code.gif ./code.tif
convert ./in1.tif -scale 600% ./in2.tif
二、tesseract image.MyFont.exp0.tif image.MyFont.exp0 -l chi_sim batch.nochop makebox
该步骤会生成一个image.MyFont.exp0.box文件。
把tif文件和box文件放在同一目录,用jTessBoxEditor.jar打开tif文件,然后根据实际情况修改box文件。
三、tesseract image.MyFont.exp0.tif image.MyFont.exp0 nobatch box.train
该步骤生成一个image.MyFont.exp0.tr文件。
四、unicharset_extractor image.MyFont.exp0.box
该步骤生成一个unicharset文件。
五、新建一个font_properties文件
里面内容写入MyFont 0 0 0 0 0 表示默认普通字体。
六、运行命令
shapeclustering -F font_properties -U unicharset image.MyFont.exp0.tr
mftraining -F font_properties -U unicharset -O image.unicharset image.MyFont.exp0.tr
cntraining image.MyFont.exp0.tr
七、把目录下的unicharset、inttemp、pffmtable、shapetable、normproto这五个文件前面都加上“image.”。
八、执行combine_tessdata image.
然后把image.traineddata放到tessdata目录。
linux脚本
#!/bin/bash
tesseract zzz.ocra.exp0.tif zzz.ocra.exp0 nobatch box.train
unicharset_extractor zzz.ocra.exp0.box
echo "ocra 0 0 1 0 0" >font_properties
shapeclustering -F font_properties -U unicharset zzz.ocra.exp0.tr
mftraining -F font_properties -U unicharset -O zzz.unicharset zzz.ocra.exp0.tr
cntraining zzz.ocra.exp0.tr
cp normproto zzz.normproto
cp inttemp zzz.inttemp
cp pffmtable zzz.pffmtable
cp shapetable zzz.shapetable
combine_tessdata zzz.
cp zzz.traineddata /home/youruserid/tessdata/.
sudo cp zzz.traineddata /usr/share/tesseract-ocr/tessdata/.
tesseract zzz.ocra.exp0.tif output -l zzz
windows脚本
:: 参考了
:: http://wenku.baidu.com/link?url=MjO8qNL3ttMb6gqjmprzXBxIWKvRwxSYjjDNGOSypuM-s5dKeuan1OOF7r3N6Fe6zXrqnrZmBuAB6xhn_Gxqk_
:: http://www.lixin.me/blog/2012/05/26/29536
:: zhangtao
:: 将此bat脚本,保存为xxx.bat,将NAME与LANG两个变量设置为对应的值,然后存放在对应的目录,即可用。
@set NAME=heilongjiang.ft.exp0
@set LANG=heilongjiang
@if not exist %NAME%.box ( goto LABLE_MAKEBOX ) else ( goto LABLE_TRIAN )
:LABLE_MAKEBOX
@echo -------begin,make box -----------
@pause
..\ocr.exe %NAME%.tif %NAME% -l eng batch.nochop makebox
@if not exist %NAME%.box goto END_FLAG
@echo -------end,make box ,ok-----------
@pause
exit
:LABLE_TRIAN
@echo -------begin,train -----------
@pause
..\ocr.exe %NAME%.tif %NAME% box.train
@pause
..\unicharset_extractor.exe %NAME%.box
@pause
echo ft 0 0 1 0 0 > %LANG%.font_properties
..\mftraining.exe -F %LANG%.font_properties -U unicharset %NAME%.tr
@pause
..\cntraining.exe %NAME%.tr
@pause
@rename normproto %LANG%.normproto
@rename unicharset %LANG%.unicharset
@rename inttemp %LANG%.inttemp
@rename pffmtable %LANG%.pffmtable
@rename shapetable %LANG%.shapetable
@pause
..\combine_tessdata.exe %LANG%.
@echo %NAME%.traineddata
@echo ------end,succ-------------
@pause