在这里的例子中,我不知道为什么它在霍夫圆算法之前首先调用中值滤波器。这是否意味着提供更好的检测?
另外,在调用霍夫圆算法时,是否还有其他一些技巧可能有用?特别是,如果圆形物体的背景亮度相同,因此在灰度上看起来很均匀,那么我能在这里做些什么吗?
此外,如果我无法获得完美的检测,我宁愿检测到较少的圆圈,而是检测到的圆圈是正确的。
由于
答案 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文章中描述)