我有一个使用Canny边缘检测算法处理的球的图片(见下面的链接),其中包含许多噪点边缘。有哪些最佳的图像处理技术可以用来去除这些噪点边缘而不会删除属于球的边缘?
原始图片:
Canny边缘检测图片:
非常感谢大家提前帮助和建议,非常感激!
P.S. 我正在尝试在使用Circle Hough变换检测球之前清理边缘图像。
原始图片:
![original](https://istack.dev59.com/d8S4G.webp)
![canny](https://istack.dev59.com/5u8o8.webp)
只有在您设置最佳阈值级别(较低和较高阈值)之后,Canny边缘检测才能起到最佳效果
以下伪代码向您展示了如何操作:
v = np.median(gray_img)
sigma = 0.33
#---- apply optimal Canny edge detection using the computed median----
lower_thresh = int(max(0, (1.0 - sigma) * v))
upper_thresh = int(min(255, (1.0 + sigma) * v))
lower_thresh
和upper_thresh
作为canny边缘函数的参数。
sigma
设置为0.33
,因为在统计学中,分布曲线上处于起点和终点的33%之间的值被认为是正常值,超出和低于这个范围的值被视为异常值。如果可能的话,最好的方法是一开始就不要让它们出现。如果这些线条是图像中的噪点,则可以应用平滑滤波器(例如高斯滤波器)来使图像平滑。-> 高斯滤波器信息
一旦它们出现了,删除它们就很棘手,可能需要一些更高级别的形状识别技术。