> 文档中心 > Pythony应用(02)-文字识别训练tesseract-ocr4

Pythony应用(02)-文字识别训练tesseract-ocr4


一、环境与版本选择

  1. 环境: window10家庭版
  2. 版本选择:
  • tesseract5.x 不行,使用text2image.exe --list_available_fonts 没有结果输出
  • 使用采用tesseract-ocr-w64-setup-v4.1,缺少64位的库
  • 所以采用tesseract-ocr-w32-setup-v4.1.0.20190314

二、环境装备:

  1. 安装jre:
  • 下载地址: https://www.oracle.com/java/technologies/downloads/#jre8-windows
  1. 安装jTessBoxEditorFX:
  • 下载地址:https://sourceforge.net/projects/vietocr/files/jTessBoxEditor/
  • jTessBoxEditorFX可以处理中文,jTessBoxEditor处理中文显示乱码方框
  1. 安装tesseract-ocr-w32-setup-v4.1:
  • 下载地址:https://digi.bib.uni-mannheim.de/tesseract/
  • 安装完成将tesseract安装目录加入到PATH
  1. 测试:
    tesseract -vtesseract --list-langs

三、使用

1.官网地址: https://tesseract-ocr.github.io/tessdoc/
2.获取系统中的字体:
给出配置文件的路径.\data\fonts.conf

C:\windows\fonts.\data\

text2image.exe --list_available_fonts --fonts_dir=C:\windows\fonts --fontconfig_tmpdir=.\data\

3.构造需要训练的文本:GB2312汉字编码字符集

  • 01区为特殊符号(・∈∽§除外,这四个字符训练有问题),chi_sim.training_text.exp1.txt
 、。ˉˇ¨〃々―~‖…‘’“”〔〕〈〉《》「」『』〖〗【】±×÷∶∧∨∑∏∪∩∷√⊥∥∠⌒⊙∫∮≡≌≈∝≠≮≯≤≥∞∵∴♂♀°′″℃$¤¢£‰№☆★○●◎◇◆□■△▲※→←↑↓〓
  • 03区为特殊符号,chi_sim.training_text.exp2.txt
!"#¥%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|} ̄
  • 16-55区为一级汉字,按拼音排序,共3755个,chi_sim.training_text.exp5.txt
    56-87区为二级汉字,按部首/笔画排序,共3008个,chi_sim.training_text.exp6.txt

4.生成~.tif 和 ~.box 文件:

text2image --text=chi_sim.training_text.exp1.txt --outputbase=chi_sim.SimSun.exp1 --font=SimSun --fonts_dir=C:\windows\fonts --fontconfig_tmpdir=.\data\text2image --text=chi_sim.training_text.exp2.txt --outputbase=chi_sim.SimSun.exp2 --font=SimSun --fonts_dir=C:\windows\fonts --fontconfig_tmpdir=.\data\text2image --text=chi_sim.training_text.exp5.txt --outputbase=chi_sim.SimSun.exp5 --font=SimSun --fonts_dir=C:\windows\fonts --fontconfig_tmpdir=.\data\text2image --text=chi_sim.training_text.exp6.txt --outputbase=chi_sim.SimSun.exp6 --font=SimSun --fonts_dir=C:\windows\fonts --fontconfig_tmpdir=.\data\

5.生成font_properties文件:(该文件没有后缀名)
echo SimSun 0 0 0 0 0 >font_properties

6.使用tesseract生成.tr训练文件:

  tesseract chi_sim.SimSun.exp1.tif chi_sim.SimSun.exp1 nobatch box.train  tesseract chi_sim.SimSun.exp2.tif chi_sim.SimSun.exp2 nobatch box.train  tesseract chi_sim.SimSun.exp5.tif chi_sim.SimSun.exp5 nobatch box.train  tesseract chi_sim.SimSun.exp6.tif chi_sim.SimSun.exp6 nobatch box.train

7.生成字符集文件:

  • 执行下面命令:执行完之后会在当前目录生成一个名为“unicharset”的文件。
    unicharset_extractor chi_sim.SimSun.exp1.box chi_sim.SimSun.exp2.box chi_sim.SimSun.exp5.box chi_sim.SimSun.exp6.box

8.生成聚字符特征文件:

  • 执行下面命令,会生成 inttemp、pffmtable、shapetable和my_chi_sim.unicharset四个文件。
    mftraining -F font_properties -U unicharset -O chi_sim.unicharset chi_sim.SimSun.exp1.tr chi_sim.SimSun.exp2.tr chi_sim.SimSun.exp5.tr chi_sim.SimSun.exp6.tr

9.生成字符正常化特征文件:
执行下面命令,会生成 normproto 文件。
cntraining chi_sim.SimSun.exp1.tr chi_sim.SimSun.exp2.tr chi_sim.SimSun.exp5.tr chi_sim.SimSun.exp6.tr

10.文件改名:

rename unicharset chi_sim.unicharsetrename inttemp chi_sim.inttemprename pffmtable chi_sim.pffmtablerename shapetable chi_sim.shapetablerename normproto chi_sim.normproto

11.生成文件
combine_tessdata chi_sim.

素描网