9

我有一个球的 Canny 边缘检测图像(见下面的链接),其中包含很多嘈杂的边缘。我可以使用哪些最佳图像处理技术来去除这些嘈杂的边缘而不去除属于球的边缘?

原始图像

原来的

Canny 边缘图像

精明的

非常感谢大家的帮助和建议,非常感谢!

Ps 在使用 Circle Hough 变换检测球之前,我正在尝试清理边缘图像。

4

3 回答 3

8

最好的选择是在应用边缘检测器之前过滤图像。为了保持锐利的边缘,您需要使用比高斯模糊更复杂的过滤器。

两个简单的选择是双边过滤器引导过滤器。这两个滤波器非常容易实现,并且在大多数情况下都提供了良好的结果:高斯噪声去除保留边缘。如果您需要更强大的功能,可以尝试过滤器BM3D,它是最先进的过滤器之一,您可以在此处找到开源实现。

于 2013-08-13T14:19:22.247 回答
7

只有在您设置了最佳阈值水平(下阈值和上限阈值)后,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_threshupper_thresh作为 canny edge 函数的参数。

sigma之所以设置为,是0.33因为在沿分布曲线的统计中,考虑了位于曲线起点和终点之间 33% 之间的值。超出和低于该曲线的值被视为异常值。

这是我为您的图像得到的:

在此处输入图像描述

于 2017-02-20T12:26:59.953 回答
2

删除它们的最佳方法可能是如果可以的话,首先不要拥有它们。如果线条是图像中的噪声伪影,请应用平滑滤波器(例如高斯滤波器)以使图像平整。->高斯滤波器信息

一旦它们存在就将它们移除很棘手,并且可能会涉及一些更高级别的形状识别内容

于 2013-08-12T20:50:43.203 回答