消除图像

时间:2015-11-19 07:31:39

标签: opencv image-processing ocr

我正在尝试开发适用于移动设备的OCR应用。

因此,在将其传递给OCR引擎之前,我应用了一些过滤器并将图像二值化以获得更好的效果。

我正在使用自适应高斯阈值,这给了我相当不错的结果,但是文本周围有一些点和噪声(如下图所示),这会导致OCR输出出错。 Binarized image

现在这只是较大图片的一小部分。 enter image description here

我理解的原因是因为文本周围的白色轮廓只有在我显着缩放图像时才能观察到:

image

我尝试通过在二值化之前应用高斯模糊来最小化。但是,如果我能理解并消除文本周围白色轮廓的原因,我仍然相信我可以获得更好的结果。

我也在添加images 我已经用他们的名字解释了图像的细节。

我收到了很好的结果,但只是想获得更多的见解,并尝试探索是否有其他或更好的方法来实现同样的目标。

任何指导或指导都会有很大帮助。 我希望我对自己的问题很清楚。随意询问任何细节。

谢谢。

2 个答案:

答案 0 :(得分:1)

由于您要实现移动设备,如何将其转换为二进制图像(仅使用Matlab显示)。

img = imread('OGGjn.png');
imgb = im2bw(img);
imshow(imgb);

输出:

enter image description here

答案 1 :(得分:0)

您是否尝试过morphological次操作?如果您选择最佳的过滤器尺寸和形状(圆盘操作器),这将减少白色阴影。

如果你能提到你在图像上执行的操作顺序,看看你在哪个阶段获得白色阴影会更有用。

我认为扩张会有所帮助。 MATLAB接受灰度图像进行扩张并做得非常好。尝试使用OpenCV。我之前做过。

您使用什么类型的二进制阈值技术?