【问题标题】:Tesseract OCR with Gasmeter带煤气表的 Tesseract OCR
【发布时间】:2013-05-03 09:32:05
【问题描述】:

我正试图让 Tesseract 识别煤气表装置照片中的数字。 但它返回的主要是空页作为输出。(我使用的是 Tesseract 3.02) 例如

pic 1, some tweaking

我想将 Tesseract 用于 Android 的 OCR 应用程序,所以我只是在检查 Tesseract 是否甚至能够识别这样的数字。第一张照片是我在 java 程序中通过图像预处理所能得到的。

如果我使用 gimp 并手动进行更多调整,tesseract 会识别它。但我需要它来识别像 1 这样的图片。我能做些什么来做到这一点? ->pic 2, gimp tweak

【问题讨论】:

    标签: android image-processing tesseract


    【解决方案1】:

    第一张图片实际上是使用最新的 Tesseract 版本给出了正确的输出。

    由于遵循分割逻辑,Tesseract 有时会给出空白页面。在您的情况下,它会尝试分割单个单词,结果所有这些字符将被视为噪音并且识别将失败。

    如果您打算识别煤气表单位的照片,请考虑将 Tesseract 的 Page Segmentation Mode 设置为 8(这告诉 tesseract 将给定的图像假定为单个单词)

    你也可以考虑tesseract的其他页面分割模式

    0 = 仅方向和脚本检测 (OSD)。

    1 = 使用 OSD 自动分割页面。

    2 = 自动页面分割,但没有 OSD 或 OCR

    3 = 全自动页面分割,但没有 OSD。 (默认)

    4 = 假设有一列大小可变的文本。

    5 = 假设一个统一的垂直对齐文本块。

    6 = 假设一个统一的文本块。

    7 = 将图像视为单个文本行。

    8 = 将图像视为一个单词。

    9 = 将图像视为圆圈中的单个单词。

    10 = 将图像视为单个字符。

    要设置特定的 psm,请使用“tesseract -psm

    我建议你再做一件事。由于您想识别只有数字的燃气表值,您可以在 tesseract 配置文件 仅包含数字中指定自定义 charset。字符集的大小越小,识别的准确性就越高。字符集应始终包含输入图像可能包含的字符。

    即使在尝试了上述所有组合之后,如果 tesseract 无法正确识别输入图像,则尝试通过去除那些不需要的斑点来提高输入图像的质量。您可以尝试使用 ImageMagick 来清理输入图像。希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-27
      • 2010-09-07
      • 2013-04-25
      • 1970-01-01
      • 2013-07-07
      • 2019-10-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多