【问题标题】:How to ocr low resolution image如何ocr低分辨率图像
【发布时间】:2016-03-05 10:55:58
【问题描述】:

我必须从具有如下图所示的经纬度数据的视频中提取文本:

图像分辨率非常低,tesseract 和在线 OCR 无法在未进行任何处理的情况下提取文本。我尝试使用this 去除灰色背景,并减去灰色矩阵,但它没有产生有意义的输出。我转换为 HSV 以提取黄色文本,但再次没有得到有意义的结果。

我想知道是否有任何方法可以提取文本。最有希望的线索似乎是背景是灰度,文字是半透明的黄色。

【问题讨论】:

  • 您可以继续尝试各种图像处理技术,但在一定程度上,提取任何 ocr 数据将非常困难/几乎不可能。这看起来像是其中一种情况,但如果确实需要这样做,那么您将不得不继续尝试各种方法。
  • JPG 压缩会更加衰减...您可以尝试使文本变细或仅提取黄色强度的峰值,但图像质量太低以至于很难甚至为人阅读...您可以尝试simple OCR我在低质量或非常嘈杂的输入上比神经网络分类器具有优势,但不要抱太大希望...

标签: python opencv image-processing ocr


【解决方案1】:

一般来说,DPI 只是一个数字,所以你可以更改它(我不知道在 python 中如何,但应该有办法)。尝试将其更改为 200 或 300,然后再将其传递给 OCR 引擎。 如果这没有帮助,除了将 DPI 设置为 300 之外,尝试将其大小调整为 200%。 此外,最好的 OCR 结果适用于黑白图像,因此请尝试对图像应用图像处理以将其转换为黑白图像。 我发现以下链接可能对您有所帮助: Using python PIL to turn a RGB image into a pure black and white image

【讨论】:

  • 现有视频的“更改 DPI”没有意义。放大不会提高图像质量。事实上,颜色在这里并没有真正的帮助。
  • 是的。调整图像大小会使其模糊并且不会提高识别率
  • 尝试应用重采样等插值算法来增强调整大小的图像。
【解决方案2】:

这些图像的主要问题是分割字符。如果他们有一个固定的地方,你就完成了。 (跳过下一段。)

如果没有,首先通过轮廓分析定位字符组之间的空隙,以简化任务。对于每个组,尝试识别最左边的字符,然后跳过它以找到下一个字符,依此类推。

可以通过直接SAD或SSD与相同字体的参考字符进行比较来识别字符。

不要期望太好的结果。

【讨论】:

    猜你喜欢
    • 2014-11-20
    • 1970-01-01
    • 2017-08-23
    • 2011-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多