索贝尔过滤后如何消除噪音?

Kar*_*lan 2 opencv edge-detection image-segmentation

我的问题很简单.我对中值滤波的灰度图像进行了Sobel滤波.索贝尔滤波后的图像是

纹理地板中的矩形物体]![纹理地板中的矩形物体]

矩形物体是我感兴趣的.我试图从图像中提取它.

如您所见,与物体一起,由于地板的纹理,会产生更多噪音.因此,边缘图像如下(具有更多的假边缘)

在此输入图像描述

索贝尔过滤后如何消除噪音?或者我如何克服这个障碍?

您的建议或指导将帮助我理解图像处理及其挑战.

谢谢

nki*_*int 5

消除噪音是一件大事.主要答案是:这取决于你必须做什么.

首先,您必须尽可能为滤镜提供最佳图像,因此请尝试一些预处理,如模糊,阈值或直方图均衡.

然后,形态学算子通常是一种常见的方法.您可以在此处此处找到有关这些运算符的文档.

然后,您可以继续操作,具体取决于您对此图像的操作.例如,如果您的目标是斑点检测,则可以过滤斑点,从而消除通过图像矩计算其区域的最小斑点.

或者,如果您需要检测线条,请尝试查看Hough变换.

编辑:Blob和opencv

你可以在网上找到很多关于斑点检测的教程.如果你不知道它是什么,最好稍微google一下,它是计算机视觉的一个基本部分.以下是一些链接:此处,此处,此处,此处此处.opencv版本2.4.8还有一个用于blob提取的内置类:这里.是一个简单的教程,解释了主要cv::findContours功能.

简而言之,blob检测是一个获得二进制图像(黑白,类型CV_8U)的过程,并返回一组轮廓,用于界定某些连通分量区域.轮廓(或blob)实际上是一些二维点的矢量,用于界定形状.你可以找到一些属性,如区域,质心等.

最好先研究一下图像处理和计算机视觉基础知识,我可以为你推荐这本着名的:数字图像处理,Rafael C. Gonzalez,Richard Eugene Woods.您可以在Google图书或网络中的其他位置找到它.

另请参阅那些介绍教程.