【问题标题】:Adding Blackletter Font Support to Tesseract OCR Engine向 Tesseract OCR 引擎添加 Blackletter 字体支持
【发布时间】:2012-01-28 19:05:57
【问题描述】:

我正在努力让林肯字体在 Tesseract 中工作,我得到的结果很糟糕,即使在通过 wildly complicated training process 之后也是如此。

这就是字体的样子,所以是的,这有点棘手:

我已经仔细制作了一张训练图像,然后用它制作了一个盒子文件。 The training image is here (25MB!)。图像为 300 DPI,具有代表性的字符很好地垂直和水平间隔。

我为训练图像制作了一个盒子文件,它工作正常。我已经使用a box file editor 验证了它是正确的。

我使用了这个 box 文件/tif 文件,并用它来创建训练数据。我对 Tesseract 提供的 30 or so other sample images/fonts 也是如此。

我创建了 unicharset 文件。

我创建了一个 font_properties 文件。网站上没有关于何时应该使用 fraktur 的指导。所以我已经尝试过这两种方式(林肯的 faktur on):

eng.lincoln.box 0 0 0 0 1

这样(fraktur off):

eng.lincoln.box 0 0 0 0 0

最后,我在有和没有字典文件的情况下都试过了。当我使用字典文件时,它们是来自我的搜索引擎 Sphinx 的词图,它们有大约 15K 的常用词和大约 20K 的不常用词。

在所有情况下,当我尝试对this file (3MB) 的前几行进行 OCR 时,质量都很糟糕。而不是得到:

United States Court of Appeals 
for the Federal Circuit

我明白了:

OniteiJ %tates C0urt of QppeaIs
for the jfeI1eraICircuit

为什么?

【问题讨论】:

    标签: ocr tesseract training-data


    【解决方案1】:

    我认为您需要更多的样本(字母)和更好的训练图像(干净的背景、灰度、300 DPI 等)。并尝试先只使用一种字体(例如 Lincoln)进行训练。您可以使用jTessBoxEditor 工具生成训练图像并编辑框文件。

    一旦您掌握了训练过程,您就可以在训练中添加其他字体。您可以通过在训练图像本身上执行 OCR 来测试生成的语言数据是否成功——识别率应该很高。

    font_properties 中的字体名称应该是这样的:

    林肯0 0 0 0 1

    【讨论】:

    • 最后,我制作了更大的训练文件,一遍又一遍地重复训练过程,直到成功为止。感谢您的帮助。
    【解决方案2】:

    我不是 Tesseract 专家,但我评估了几乎所有可用的 OCR 引擎,我的 cmets 是基于我多年来分析 OCR 错误的经验。

    只是想知道为什么您的图像背景中有斑点,而不是纯白色背景。我不知道 Tesseract 或训练工具是如何工作的,但背景可能会导致一些问题。

    仅阅读示例页面很困难,并且需要大量的注意力。 F 和 I 等字符与 U 和 N 非常相似。像许多 OCR 引擎一样,Tesseract 将使用许多不同的技术来识别字符,并且这些字符中的许多字符在笔画和曲线方面并没有太大区别字体中使用。

    这些字符,尤其是大写字符会混淆许多不同的匹配算法,因为它们与标准的拉丁/罗马类型字符非常不同。这显示在您的结果中,即。所有大写字母都有 OCR 错误。

    【讨论】:

      猜你喜欢
      • 2014-11-30
      • 1970-01-01
      • 1970-01-01
      • 2011-06-17
      • 2011-06-21
      • 1970-01-01
      • 2023-01-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多