如何ocr低分辨率图像

时间:2015-12-01 13:35:07

标签: python opencv image-processing ocr

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

this

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

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

2 个答案:

答案 0 :(得分:1)

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

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

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

不要期待太好的结果。

答案 1 :(得分: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