【问题标题】:Tesseract OCR: is it possible to force a specific pattern?Tesseract OCR:是否可以强制使用特定模式?
【发布时间】:2013-01-29 07:00:29
【问题描述】:

我正在使用 Tesseract,我想开发一个能够识别字符序列的应用。我取得了不错的成绩,但并不出色。

我想阅读的字符序列总是有一个特定的模式,比如说:

number number number char char -(例如:123AB)

有没有办法“告诉” ocr 引擎结构始终是固定的,以提高识别结果?

提前谢谢你。

【问题讨论】:

  • 这篇文章"Limit characters tesseract is looking for"可能对你有用
  • 谢谢,我看了一下,但没有帮助。关键是在我的序列中,我可以拥有所有可能的字符 [A-Z] 和数字 [0-9],所以我不能使用任何限制。我掌握的唯一信息是前 3 个字符是数字,后 2 个字符是字符。
  • @stei2348:您可以对结果字符串进行一些后处理,例如将 I 转换为 1,反之亦然。或者对源图像进行预处理。

标签: structure ocr design-patterns tesseract


【解决方案1】:

在 Tesseract 中尝试bazaar 匹配模式:

\d\d\d\c\c

【讨论】:

  • 根据文档:“注意:在选择要包含的模式时,请注意提供非常通用的模式会使 tesseract 运行速度变慢的事实......因为速度方面的潜在问题可能会很困难为了识别,每个用户模式必须至少有 kSaneNumConcreteChars 开头的 unicharset 中的具体字符。”这意味着该模式将被忽略,因为它的具体字符少于 4 个。 4 是 kSaneNumConcreteChars 的当前硬编码值。
  • 我刚刚查看了 GitHub,似乎 kSaneNumConcreteChars 现在被硬编码为“0”。在这里亲自查看:github.com/tesseract-ocr/tesseract/blob/master/dict/trie.h
【解决方案2】:

可以使用“tessedit_char_whitelist”参数

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-06
    • 2015-10-30
    • 2014-01-07
    • 1970-01-01
    • 1970-01-01
    • 2012-09-28
    • 1970-01-01
    相关资源
    最近更新 更多