霍夫圆检测:在调用霍夫圆算法之前模糊图像?

时间:2015-09-18 21:16:23

标签: python opencv image-processing computer-vision hough-transform

http://opencv-python-tutroals.readthedocs.org/en/latest/py_tutorials/py_imgproc/py_houghcircles/py_houghcircles.html

在这里的例子中,我不知道为什么它在霍夫圆算法之前首先调用中值滤波器。这是否意味着提供更好的检测?

另外,在调用霍夫圆算法时,是否还有其他一些技巧可能有用?特别是,如果圆形物体的背景亮度相同,因此在灰度上看起来很均匀,那么我能在这里做些什么吗?

此外,如果我无法获得完美的检测,我宁愿检测到较少的圆圈,而是检测到的圆圈是正确的。

由于

2 个答案:

答案 0 :(得分:1)

模糊将有助于通过降低噪声来避免虚假圆检测,因为openCV使用了霍夫圆检测算法的渐变版本,如下所述:http://homepages.inf.ed.ac.uk/rbf/BOOKS/BANDB/LIB/bandb4_3.pdf

模糊的大小将与内部Canny边缘检测器的上限阈值相互作用,即param_1。你想要玩弄它。

要解决亮度问题,请尝试仅使用隔离的R,G和B通道进行检测。为了获得更完整的结果,您可以将色调移动60,然后再次使用隔离通​​道。

答案 1 :(得分:1)

是的,它旨在降低图像中的噪声,旨在改善边缘检测。边缘检测算法对噪声敏感。

这里描述: https://en.wikipedia.org/wiki/Median_filter

但是这张图片更好地说明了模糊改善了(甚至是你的大脑)边缘检测: https://upload.wikimedia.org/wikipedia/commons/6/62/Cappadocia_Gaussian_Blur.svg

这张图片来自一篇关于高斯模糊的文章,这是另一种降低信号噪声(如图像)的平滑技术。但是,中值滤波器比高斯模糊更好地保留边缘,因此它在图像处理中的使用。 (在"边缘保存属性"在Wiki&#39的Median Filter文章中描述)