霍夫圆检测:在调用霍夫圆算法之前模糊图像?
Hough circle detection: Blurring the image before calling hough circle algorithm?
这里的例子不知道为什么在霍夫圆算法之前先调用中值滤波器。这是为了提供更好的检测吗?
此外,在调用霍夫圆算法时,是否还有其他可能有用的一般技巧?特别是,如果圆形物体与其背景具有相同的亮度,因此在灰度上看起来是均匀的,我可以在这里做些什么吗?
此外,如果我不能得到完美的检测,我宁愿检测到的圆圈较少,但检测到的圆圈是正确的。
谢谢
模糊有助于通过减少噪声来避免错误的圆检测,因为 openCV 使用霍夫圆检测算法的梯度版本,概述如下:http://homepages.inf.ed.ac.uk/rbf/BOOKS/BANDB/LIB/bandb4_3.pdf
模糊的大小将与内部 Canny 边缘检测器的上限阈值相互作用,即 param_1。你会想要尝试一下的。
要解决亮度问题,请尝试仅使用隔离的 R、G 和 B 通道进行检测。要获得更完整的结果,您可以将色调移动 60,然后再次使用隔离通道。
是的,它是为了减少图像中的噪声,目的是提高边缘检测。边缘检测算法对噪声很敏感。
此处描述:
https://en.wikipedia.org/wiki/Median_filter
但是这张图片更好地说明了模糊如何改进(甚至是你的大脑)边缘检测:
https://upload.wikimedia.org/wikipedia/commons/6/62/Cappadocia_Gaussian_Blur.svg
这张图片来自一篇关于高斯模糊的文章,高斯模糊是另一种减少信号(如图像)噪声的平滑技术。然而,中值滤波器比高斯模糊更好地保留边缘,因此它在图像处理中的使用。 (在 Wiki 的中值滤波器文章 "Edge preservation properties" 下有描述)
这里的例子不知道为什么在霍夫圆算法之前先调用中值滤波器。这是为了提供更好的检测吗?
此外,在调用霍夫圆算法时,是否还有其他可能有用的一般技巧?特别是,如果圆形物体与其背景具有相同的亮度,因此在灰度上看起来是均匀的,我可以在这里做些什么吗?
此外,如果我不能得到完美的检测,我宁愿检测到的圆圈较少,但检测到的圆圈是正确的。
谢谢
模糊有助于通过减少噪声来避免错误的圆检测,因为 openCV 使用霍夫圆检测算法的梯度版本,概述如下:http://homepages.inf.ed.ac.uk/rbf/BOOKS/BANDB/LIB/bandb4_3.pdf
模糊的大小将与内部 Canny 边缘检测器的上限阈值相互作用,即 param_1。你会想要尝试一下的。
要解决亮度问题,请尝试仅使用隔离的 R、G 和 B 通道进行检测。要获得更完整的结果,您可以将色调移动 60,然后再次使用隔离通道。
是的,它是为了减少图像中的噪声,目的是提高边缘检测。边缘检测算法对噪声很敏感。
此处描述: https://en.wikipedia.org/wiki/Median_filter
但是这张图片更好地说明了模糊如何改进(甚至是你的大脑)边缘检测: https://upload.wikimedia.org/wikipedia/commons/6/62/Cappadocia_Gaussian_Blur.svg
这张图片来自一篇关于高斯模糊的文章,高斯模糊是另一种减少信号(如图像)噪声的平滑技术。然而,中值滤波器比高斯模糊更好地保留边缘,因此它在图像处理中的使用。 (在 Wiki 的中值滤波器文章 "Edge preservation properties" 下有描述)