-
下载工具Tesseract-OCR
- 配置环境变量 C:\Tesseract-OCR 新建一个TESSDATA_PREFIX变量名,变量值还是我的安装路径C:\Tesseract-OCR\tessdata这是将语言字库文件夹添加到变量中
-
使用
打开命令终端,输入:tesseract -v,可以看到版本信息
-
下载jTessBoxEditor(运行环境为java虚拟机)
-
识别一张图片,测试下好不好使。 tesseract 路径 output -l eng -psm 7 type output.txt
-
训练样本
6.1.用jTessBoxEditor把要训练样本图片文件合并成tif文件(样本图片一定要为有效的格式图片)
6.2.打开jTessBoxEditor点击顶栏的Tools选项,选择Merge TIFF.. 进入你要训练的样本图片所在的目录,点击Ctrl+Alt+A,选择 所有图片点击打开:
6.3.然后保存文件名到指定目录,我这里保存的文件名为: langyp.font.exp0.tif
6.4.生成Box文件:打开cmd,到你langyp.font.exp0.tif文件所在目录,执行tesseract langyp.font.exp0.tif langyp.font.exp0 - l eng -psm 7 batch.nochop makebox 命令,生成了langyp.font.exp0.box文件
6.5.对样本图片用jTessBoxEditor工具进行矫正:点击jTessBoxEditor工具的Box Editor选项,点击下方的open选项,打开刚刚 生成的langyp.font.exp0.tif文件
6.6.生成font_properties文件(该文件没有后缀名) :
tesseract langyp.font.exp0.tif langyp.font.exp0 -l eng -psm 7 nobatch box.train
6.7.生成字符集文件:
unicharset_extractor langyp.font.exp0.box
6.8.生成shape文件:
shapeclustering -F font_properties -U unicharset -O langyp.unicharset langyp.font.exp0.tr
6.9.生成聚集字符特征文件:
cntraining langyp.font.exp0.tr
6.10.把h,i步骤生成的文件用rename命令进行更名:
rename normproto fontyp.normproto
rename inttemp fontyp.inttemp
rename pffmtable fontyp.pffmtable
rename unicharset fontyp.unicharset
rename shapetable fontyp.shapetable
6.10. 合并训练文件:
combine_tessdata fontyp.
6.11. 将fontyp.traineddata文件拷贝至Tesseract-OCR文件夹里的tessdata语言包文件夹里
6.12. 执行命令:
tesseract b.jpg output -l fontyp -psm 7(fontyp为训练的语言包文件)
type output.txt
注意:代码引入pytesseract会报错
安装Pillow,命令pip install Pillow,安装完毕会在Python文件夹下Lib\site-packages\pytesseract这个文件夹,里面有 pytesseract.py文件
确保,确保,确保 安装了 Tesseract-OCR 这个好像没有64、32的区别
进入pytesseract.py修改下tesseract_cmd="/路径" ,
就是这个/很难受,搞了好久才弄明白是/引起的错误。
命令:
tesseract langyp.font.exp0.tif langyp.font.exp0 -l eng -psm 7 batch.nochop makebox
echo font 0 0 0 0 0 >font_properties
tesseract langyp.font.exp0.tif langyp.font.exp0 -l eng -psm 7 nobatch box.train
unicharset_extractor langyp.font.exp0.box
shapeclustering -F font_properties -U unicharset -O langyp.unicharset langyp.font.exp0.tr
mftraining -F font_properties -U unicharset -O langyp.unicharset langyp.font.exp0.tr
cntraining langyp.font.exp0.tr
rename normproto fontyp.normproto
rename inttemp fontyp.inttemp
rename pffmtable fontyp.pffmtable
rename unicharset fontyp.unicharset
rename shapetable fontyp.shapetable
combine_tessdata fontyp.