【问题标题】:How can I add a new font to Tesseract 4.0?如何向 Tesseract 4.0 添加新字体?
【发布时间】:2019-05-29 13:48:22
【问题描述】:

我正在制作一个文本识别程序,我想训练我的 Tesseract 4.0 识别特定字体(希伯来语)。我该怎么做?

我尝试了“trainyourtesseract.com”(根本不起作用)和“jTessBoxEditor”(我不明白如何使它正常工作)。

我很想在这个问题上获得一些帮助。 谢谢。

【问题讨论】:

    标签: text fonts ocr tesseract text-recognition


    【解决方案1】:

    您是否尝试阅读此链接? https://github.com/tesseract-ocr/tesseract/wiki/TrainingTesseract-4.00#tutorial-guide-to-lstmtraining 粗略的方法是您必须准备自己的语言文件(最重要的是您自己的 .trainingtext 文件),然后运行 ​​tesstrain.sh 来生成数据集。之后,您可以运行 combine_tessdata 从原始希伯来语模型中提取 .lstm 文件,并将其用作lstmtraining 工具中的参数,以使用您的新字体微调原始模型。

    更新:文档链接已更改:https://tesseract-ocr.github.io/tessdoc/TrainingTesseract-4.00

    【讨论】:

      【解决方案2】:

      这里是 tesseract 自定义训练的 shell 脚本

      N=3 # number of images
      

      #image name => languagename.fontname.expN.filetype

      制作盒子文件

      for i in `seq 1 $N`
      do
      tesseract testlan.arial.exp$i.png testlan.arial.exp$i batch.nochop makebox
      done
      

      手动编辑框文件后需要完成以下步骤

      #Step 02:创建.tr文件(合成图像文件和盒子文件)

      第 3 步:从 box 文件中提取字符集(此命令的输出为 unicharset 文件)

      for i in `seq 1 $N`
      do
      tesseract testlan.arial.exp$i.png testlan.arial.exp$i box.train
      unicharset_extractor  testlan.arial.exp$i.box
      done
      

      第四步:根据我们的需要创建一个font_properties文件。

      echo "[fontname] [italic (0 or 1)] [bold (0 or 1)] [monospace (0 or 1)] [serif (0 or 1)] [fraktur (0 or 1)]" >字体属性

      echo "arial 0 0 1 0 0" > font_properties
      

      第 5 步:训练数据。

      #步骤 6

      for i in `seq 1 $N`
      do
      mftraining -F font_properties -U unicharset -O testlan.unicharset testlan.arial.exp$i.tr
      cntraining testlan.arial.exp$i.tr
      done
      

      #在第 5 步和第 6 步之后创建 shapetable、inttemp、pffmtable、normproto 文件

      第七步:将四个文件(shapetable,inttemp,pffmtable,normproto)重命名为([langname].shapetable,[langname].inttemp,[langname].pffmtable,[langname].normproto)

       mv inttemp testlan.inttemp
       mv normproto testlan.normproto
       mv pffmtable testlan.pffmtable
       mv shapetable testlan.shapetable
      
      combine_tessdata testlan.
      

      #move testlan.traineddata 到C:\Program Files\Tesseract-OCR\tessdata

      【讨论】:

        猜你喜欢
        • 2014-11-30
        • 2013-04-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-29
        • 1970-01-01
        • 1970-01-01
        • 2020-07-07
        相关资源
        最近更新 更多