您的位置:首页 > 其它

Tesseract-OCR 训练步骤记录

2015-04-07 15:27 435 查看

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  imagemagick 图片