• 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 -v
      tesseract --list-langs
      
      
      • 1
      • 2
      • 3

    三、使用

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

    <?xml version="1.0"?>
    <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
    <fontconfig>
    <dir>C:\windows\fonts</dir>
    <cachedir>.\data\</cachedir>
    <config></config>
    </fontconfig>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

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

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

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

    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
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    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.unicharset
    rename inttemp chi_sim.inttemp
    rename pffmtable chi_sim.pffmtable
    rename shapetable chi_sim.shapetable
    rename normproto chi_sim.normproto
    
    • 1
    • 2
    • 3
    • 4
    • 5

    11.生成文件
    combine_tessdata chi_sim.

  • 相关阅读:
    JavaEE:网络初识
    100个测试参与的项目如何高质量完成
    【论文阅读】互连网络的负载平衡路由算法 (RLB & RLBth)
    【连载】囚生CYの备忘录(20220906-)
    SpringBoot+若依+图片导出
    Vue slot 用法
    【一】曾经那些错误,你又踩坑了吗?
    【java学习】 面向对象编程+java购物车系统
    微信小程序 | 游戏开发之接宝石箱子游戏
    不用定时器,实现鼠标长悬浮和鼠标长按监听
  • 原文地址:https://blog.csdn.net/mengyoufengyu/article/details/124974376