【问题标题】:"Adding" new fonts to Tesseract eng.traineddata“添加”新字体到 Tesseract eng.traineddata
【发布时间】:2013-04-26 07:50:36
【问题描述】:

据我所知,Tesseract 3.x 带有 6 种英文(如果我错了,请纠正我)字体。我需要为更多 5 种字体训练 Tesseract。我只需要大写字母和数字(没有特殊字符或符号)。

我遵循了各种流程,例如: Adding New Fonts to Tesseract 3 OCR Engine

还使用工具来自动化流程,例如 Serak Tesseract Trainer for Tesseract 3.02

为了生成盒子文件,我使用了QT Box Editor

使用上述工具后,我得到eng.traineddata 文件。所有教程都告诉我将此eng.traineddata 文件添加到Tesseract-OCR\tessdata 文件夹,但这样做会替换原来的eng.traineddata 文件。这样做之后,我会丢失 Tesseract 3.x 附带的默认字体吗?

如何添加新字体?我还不清楚。我希望有人可以在这里帮助我。谢谢。

【问题讨论】:

    标签: python ocr tesseract


    【解决方案1】:

    应使用不同的名称,例如 eng1.traineddata。这样您就可以通过指定语言选项-l eng+eng1 将新数据与原始数据一起使用。

    【讨论】:

    • 在哪里可以指定语言选项 -l eng+eng1 ?
    • 这听起来可能太懒惰了,但是有没有办法提供一个字体文件作为输入(比如网站)并提供一个训练有素的tessdata 作为输出?
    • @tipycalFlow jTessBoxEditor 有一个 TIFF/Box 生成器。您可以提供一个字体文件并获得一个包含正确值的框。使用Serak Tesseract Trainer,您可以完成剩下的工作。
    【解决方案2】:

    如果您有不同字体的新训练数据,我认为您的新字体没有字典校正。

    要添加新的训练数据,您可以这样做(我在这里使用 PHP 代码)

    //  as you new trained data, it must be 3 letter prefix 
    // what ever 3 letter you want
    $languange = "eng+deu";
    $settingLanguage = $tesseract -> setLanguage($language) ; 
    

    通过查看tesseract.php函数setLanguage(),可以通过该函数设置语言。

    【讨论】:

      猜你喜欢
      • 2020-02-10
      • 2014-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-20
      • 2017-05-08
      • 1970-01-01
      相关资源
      最近更新 更多