【问题标题】:Advice on using OCR on an image of a blackboard在黑板图像上使用 OCR 的建议
【发布时间】:2010-05-17 20:37:16
【问题描述】:

我正在尝试获取 OCR 可读的黑板图像。自然,大多数 OCR 软件不喜欢脏图像。我应该尝试通过什么图像处理来清理图像?

【问题讨论】:

  • 您是否正在编写一些代码来处理图像?示例图像是什么样的?对比度不够?太吵了?到目前为止,没有足够的信息对您有所帮助。
  • 好吧,我还没有真正开始。我只是想要一些关于如何真正开始的建议。我一直在玩weocr.ocrgrid.org 来测试到目前为止我可以从图像处理中得到什么样的结果。我认为这些服务器正在使用“tesseract”。注:我一直在使用这个:feap.co.uk/images/2/thumb/blackboard.jpg?1274182639 作为示例图像。 PS,我将用 C# 或 Ruby 编写。
  • 考虑到示例图像,我不明白为什么任何 OCR 解决方案都无法处理它。图像几乎没有噪点。

标签: image image-processing ocr computer-vision image-recognition


【解决方案1】:

您是否尝试过 OCR 软件? OCR 软件很可能非常适合读取本质上已经是黑白图像的内容。

但是,如果您需要这样做,您可以尝试:

  1. 图像阈值。
    • 本质上是获取图像的灰度版本并将其转换为黑白像素
  2. 执行二元膨胀以增大剩余对象
  3. 执行二元腐蚀

这个想法是通过扩张然后侵蚀,您可以去除任何粗糙/嘈杂的边缘,然后您可以将骨架化图像传递给 OCR。

可能有很多方法可以达到类似的结果。鉴于有整本专门讨论计算机视觉的书籍,这个答案很难做到公正。

我仅有的文字是 1997 年的,但从那以后肯定还有更多关于这个主题的文章。

  • 图像处理和计算机视觉算法 - J.R.帕克
  • 数字图像处理 - Gonzalez / Woods

【讨论】:

    【解决方案2】:

    顺便说一句,我会说反转图像(反转颜色,以便文字是白底黑字)并稍微增加对比度。您可以尝试修改亮度以使已擦除的粉笔模糊消失在背景中。

    【讨论】:

    • 为什么计算机会关心有趣的东西是白色还是黑色?唯一有趣的部分是对比度和噪点。
    【解决方案3】:

    在 Photoshop 中,Levels 对话框可能是您最有用的图像调整。在代码中模仿这个完全是另一个主题。

    Levels 的基础是您调整亮度级别的最大值、最小值和中点。通常显示在直方图上,您可以调整点以获得所需的对比度,但还要移动中点以使图像中的文本最清晰;对 OCR 应用至关重要。通过移动中点,您可以“消除”通常围绕笔迹的灰度模糊,使其消失在图像的亮(或暗)区域。

    您也可以尝试在进行此类调整后将图像转换为 1 位,将所有内容强制为黑色或白色。有时这会加快 OCR 过程。但要小心,它也会丢弃细节。

    【讨论】:

      【解决方案4】:

      您是否尝试过诸如 Roberts Cross 和 Sobel 算子等边缘检测技术来滤除图像中的噪声?没有看到图像的质量,不能说效果如何。

      【讨论】:

        【解决方案5】:

        不确定您在选择 OCR 解决方案时有多大限制,但 ABBYY OCR 引擎(以及基于它的 Web API,http://www.wisetrend.com/wisetrend_ocr_cloud.shtml)包含自动图像清理/纹理删除选项。

        【讨论】:

          【解决方案6】:

          有商业解决方案,但清理电路板图像似乎是open problem。将 OCR 添加到未解决的问题中,您将得到……未解决的问题。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2019-10-16
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2023-03-11
            • 1970-01-01
            • 2011-01-16
            相关资源
            最近更新 更多