一、安装tesseract
- 下载相关文件:tesseract-ocr下载链接
- 安装上述下载文件
- 如果需要识别其他语言,可以下载相关语言的
.traineddata
文件(下载链接)。将.traineddata
文件复制到D:\Tesseract-OCR\tessdata
路径下(对应自己的tesseract安装目录)。 - 配置环境变量:系统变量path添加
D:\Tesseract-OCR\tessdata
、D:\Tesseract-OCR
(对应自己的tesseract安装目录)
二、安装jTessBoxEditorFX
详情可参考博文
- 下载链接,如果要识别中文一定要选择FX版本
- jTessBoxEditorFX需要Java环境:安装jdk(下载链接)
注意:安装过程涉及到两次安装,第一次安装jdk,第二次安装jre。两次安装新建两个文件夹(同一目录下,也可默认安装路径),jdk安装文件放到第一个文件夹中,jre安装文件放到剩下的一个文件夹中。
- 配置环境变量:系统变量path添加
D:\Java SE\jdk\bin
、D:\Java SE\jdk\jre\bin
(对应自己的java安装目录)
三、Tesseract自训练
-
训练图片均转换为tif格式
-
打开jTessBoxEditorFX,Tools -> Merge TIFF ,选择融合的tif文件进行融合。融合后的文件名设置为
mychi.myfont.exp0.tif
-
图片目录下打开命令行(以下命令均在此目录下输入),输入
tesseract mychi.myfont.exp0.tif mychi.myfont.exp0 batch.nochop makebox
,生成box文件 -
使用jTessBoxEditorFX打开box文件(打开tif会默认打开box文件),Box Editor – Open ,选择 mychi.myfont.exp0.tif,修改其中错误的识别字符,可以调整识别框的大小 (在右上角红框内修改错误字符)。页面下方有page,可以切换tif文件进行操作。
-
命令行输入
tesseract mychi.myfont.exp0.tif mychi.myfont.exp0 nobatch box.train
,生成.tr
文件 -
命令行输入
unicharset_extractor mychi.myfont.exp0.box
,生成unicharset文件并重命名为mychi.unicharset
-
命令行输入
echo myfont 0 0 0 0 0>font_properties
(表示默认普通字体),生成文件 -
命令行输入
mftraining -F font_properties -U mychi.unicharset -O mychi.unicharset mychi.myfont.exp0.tr
-
命令行输入
cntraining mychi.myfont.exp0.tr
,共生成四个文件:inttemp、pffmtable、shapetable、normproto ,同样对他们进行重命名:在现文件名前加上 mychi.前缀 -
命令行输入
combine_tessdata mychi.
,生成mychi.traineddata -
将上一步骤生成的
mychi.traineddata
文件复制到D:\Tesseract-OCR\tessdata
目录下(对应自己的tesseract安装目录) -
python中使用:
a = pytesseract.image_to_string(src_img,lang='mychi')