我知道在许多边缘检测算法中,第一步是选择要处理的比例。我们实际上是通过在原始图像上应用高斯模糊来在选择的比例上操作的。我想知道,检测到的边缘宽度与西格玛之间的关系是什么。
例如,如果我想检测 5 像素宽的行,我应该使用哪个 sigma?如果我想找到一条 10 像素宽的线,我应该如何更改它?
提前致谢,
我知道在许多边缘检测算法中,第一步是选择要处理的比例。我们实际上是通过在原始图像上应用高斯模糊来在选择的比例上操作的。我想知道,检测到的边缘宽度与西格玛之间的关系是什么。
例如,如果我想检测 5 像素宽的行,我应该使用哪个 sigma?如果我想找到一条 10 像素宽的线,我应该如何更改它?
提前致谢,
这决定被简化对象的比例。这在这里解释:
高斯滤波器的大小:第一阶段使用的平滑滤波器直接影响Canny算法的结果。较小的过滤器导致较少的模糊,并允许检测小而尖锐的线条。较大的过滤器会导致更多的模糊,将给定像素的值涂抹在图像的较大区域上。更大的模糊半径对于检测更大、更平滑的边缘更有用——例如,彩虹的边缘。
因此,高斯函数的支持大小决定了被简化的细节水平。最简单的方法是使用二进制正方形/圆形进行测试。
为了更好地理解我建议阅读一些有关比例空间的信息。一些阅读建议可以在这里找到: http ://www.csc.kth.se/~tony/earlyvision.html
要补充的另一件事是,边缘检测通常或多或少地像维基百科那样定义:
识别数字图像中图像亮度急剧变化的点,或者更正式地说,具有不连续性的点。
他们有一个很好的插图:
在这里,边缘介于和th 像素(或,介于rd 和th,如果你数-基于)。(因为梯度是2 1 2 148 4 1
)。
我想说的是,您所说的“厚”边缘很可能会被检测为两个边缘。例如,看看Wikipedia Canny 页面中的这些示例图像:
注意从阀门中伸出的条(细长的白色结构),并注意在边缘检测结果中,它们如何被检测为两条线(外边缘和内边缘)。
当然,这可以避免,结合模糊(参数)和一些边缘细化技术。模糊图像后,曾经只有一个梯度峰值的宽而锐利的边缘现在将有一个梯度慢慢达到最大值,然后慢慢下降到零。
如果没有模糊,渐变将是例如
2 1 3 130 4 2 3 111 2 0 2
。
模糊后,渐变可能如下所示:
2 1 2 50 85 120 94 63 12 2 0
.
在模糊后,边缘检测器将检测到长边。如果您只想获取标记的边缘的位置宽线,边缘抑制技术是在模糊边缘渐变中找到“最大值”并标记中间像素(例如带有渐变的像素)) 作为实际边缘。
希望这可以帮助。