zoukankan      html  css  js  c++  java
  • tesserat训练中文备忘录

         最近用OCR识别身份证,用的tesseract引擎。但是google自带的中文库是在太慢了,尤其是对于性别、民族这样结果可以穷举的特征信息而言,完全可以自己训练字库。自己训练字库不仅可以提高识别速度,而且可以提高识别精度!

    在训练过程中,常见的error有以下几种:

    1)index >= 0 && index<size_used_:Error:Assert failed in genericvector.h, line 512

    原因:
    检查一下训练后type 13的数值。如果为0,说明shapetable没有配置进去。
     
    2)empty page
    原因:版面分析没有做好,没有找到字符。最好手动设置以下版面格式。如:
    -psm 7 单行模式
    -psm 10 单字符模式
     
    3)用的时候找不到语言包
    原因:自己训练完的语言数据要放在../tessdata中,因为tesseract源码里把这个文件路径写进环境变量里了!
     
    4)fail to load font_properties
    原因:有些教程没有加.txt。需要写成font_properties.txt这样的格式。
     
    ------------------------------训练-------------------------------------------------------------------
    1、图片命名规则:lang.fond.exp0.jpg
     
    2、生成box文件:
    tesseract chi.test.exp0.jpg chi.test.exp0 batch.nochop makebox
     
    3、用jTessBoxEditor校正文字
     
    4、生成tr文件:
    tesseract chi.test.exp0.jpg chi.test.exp0 box.train
     
    5、生成unicharset文件:
    unicharset_extractor chi.test.exp0.box
     
    6、新建字体特征文件
    font_properties不含有BOM头,文件内容格式如<fontname> <italic> <bold> <fixed> <serif> <fraktur>  
    font_properties 文件内容为test 0 0 0 0 0
     
    7、生成shapetable文件
    shapeclustering -F font_properties -U unicharset chi.test.exp0.tr
     
    8、生成chi.unicharset inttemp文件
    mftraining -F font_properties -U unicharset -O chi.unicharset chi.test.exp0.tr
     
    9、生成normproto文件
    cntraining chi.test.exp0.tr
     
    10、合并文件
    在inttemp normproto pffmtable shapetable加上前缀chi.
    运行combine_tessdata chi.
  • 相关阅读:
    Codeforces 798C
    Codeforces 798B
    Codeforces 798A
    HDU
    HDU
    HDU
    加速cin的技巧
    Codeforces Gym
    Codeforces Gym
    Solutions to an Equation LightOJ
  • 原文地址:https://www.cnblogs.com/unclelin/p/6423507.html
Copyright © 2011-2022 走看看