消除图像中文本周围的白色轮廓
Eliminate white outline around text from image
我正在尝试为移动设备开发 OCR 应用程序。
所以在将它传递给 OCR 引擎之前,我应用了一些过滤器并对图像进行二值化以获得更好的结果。
我正在使用自适应高斯阈值,它给我带来了相当不错的结果,但文本周围有一些点和噪声(如下图所示),这会导致 OCR 输出错误。
现在这只是大图的一小部分。
我理解的原因是因为文本周围的这个白色轮廓只有当我显着放大图像时才能观察到:
我试图通过在二值化之前应用高斯模糊来最小化它。但我仍然相信,如果我能理解并消除文本周围白色轮廓的原因,我会得到更好的结果。
我还要添加 images
我已经在他们的名字中解释了图像的细节。
我取得了不错的成绩,但只是想获得更多见解,并尝试探索是否有任何其他或更好的方法来实现同样的目标。
任何指导或方向都会有很大帮助。
我希望我清楚我的问题。欢迎询问任何细节。
谢谢。
既然你是要实现移动端,那直接转成二值图像怎么样(刚用Matlab显示)
img = imread('OGGjn.png');
imgb = im2bw(img);
imshow(imgb);
输出:
您尝试过morphological操作吗?如果您选择最佳过滤器尺寸和形状(圆盘操作器),这将减少白色阴影。
如果您能提及您对图像执行的操作顺序,以查看您在哪个阶段获得白色阴影,那将会更有用。
我认为膨胀会有所帮助。 MATLAB 接受灰色图像进行膨胀并且做得很好。用 OpenCV 试试。我之前做过。
您使用的是哪种类型的二进制阈值技术?
我正在尝试为移动设备开发 OCR 应用程序。
所以在将它传递给 OCR 引擎之前,我应用了一些过滤器并对图像进行二值化以获得更好的结果。
我正在使用自适应高斯阈值,它给我带来了相当不错的结果,但文本周围有一些点和噪声(如下图所示),这会导致 OCR 输出错误。
现在这只是大图的一小部分。
我理解的原因是因为文本周围的这个白色轮廓只有当我显着放大图像时才能观察到:
我试图通过在二值化之前应用高斯模糊来最小化它。但我仍然相信,如果我能理解并消除文本周围白色轮廓的原因,我会得到更好的结果。
我还要添加 images 我已经在他们的名字中解释了图像的细节。
我取得了不错的成绩,但只是想获得更多见解,并尝试探索是否有任何其他或更好的方法来实现同样的目标。
任何指导或方向都会有很大帮助。 我希望我清楚我的问题。欢迎询问任何细节。
谢谢。
既然你是要实现移动端,那直接转成二值图像怎么样(刚用Matlab显示)
img = imread('OGGjn.png');
imgb = im2bw(img);
imshow(imgb);
输出:
您尝试过morphological操作吗?如果您选择最佳过滤器尺寸和形状(圆盘操作器),这将减少白色阴影。
如果您能提及您对图像执行的操作顺序,以查看您在哪个阶段获得白色阴影,那将会更有用。
我认为膨胀会有所帮助。 MATLAB 接受灰色图像进行膨胀并且做得很好。用 OpenCV 试试。我之前做过。
您使用的是哪种类型的二进制阈值技术?