Kar*_*lan 2 opencv edge-detection image-segmentation
我的问题很简单.我对中值滤波的灰度图像进行了Sobel滤波.索贝尔滤波后的图像是
![纹理地板中的矩形物体]![纹理地板中的矩形物体]](https://i.stack.imgur.com/iUB3O.jpg)
矩形物体是我感兴趣的.我试图从图像中提取它.
如您所见,与物体一起,由于地板的纹理,会产生更多噪音.因此,边缘图像如下(具有更多的假边缘)

索贝尔过滤后如何消除噪音?或者我如何克服这个障碍?
您的建议或指导将帮助我理解图像处理及其挑战.
谢谢
消除噪音是一件大事.主要答案是:这取决于你必须做什么.
首先,您必须尽可能为滤镜提供最佳图像,因此请尝试一些预处理,如模糊,阈值或直方图均衡.
然后,形态学算子通常是一种常见的方法.您可以在此处或此处找到有关这些运算符的文档.
然后,您可以继续操作,具体取决于您对此图像的操作.例如,如果您的目标是斑点检测,则可以过滤斑点,从而消除通过图像矩计算其区域的最小斑点.
或者,如果您需要检测线条,请尝试查看Hough变换.
你可以在网上找到很多关于斑点检测的教程.如果你不知道它是什么,最好稍微google一下,它是计算机视觉的一个基本部分.以下是一些链接:此处,此处,此处,此处或此处.opencv版本2.4.8还有一个用于blob提取的内置类:这里.这是一个简单的教程,解释了主要cv::findContours功能.
简而言之,blob检测是一个获得二进制图像(黑白,类型CV_8U)的过程,并返回一组轮廓,用于界定某些连通分量区域.轮廓(或blob)实际上是一些二维点的矢量,用于界定形状.你可以找到一些属性,如区域,质心等.
最好先研究一下图像处理和计算机视觉基础知识,我可以为你推荐这本着名的书:数字图像处理,Rafael C. Gonzalez,Richard Eugene Woods.您可以在Google图书或网络中的其他位置找到它.
另请参阅那些介绍教程.