Canny边缘检测算法分为以下四步:
1 图像平滑
因为边缘检测对图像噪声很敏感,所以第一步我们使用
2 求取图像梯度
对平滑后的图像使用Sobel算子来计算水平方向梯度
3 非极大值抑制
在得到每个像素的梯度大小和方向后,我们遍历每个像素,判断该像素的梯度大小在该像素梯度方向上是否是其邻域中的局部最大值。如下图所示:
点A在边缘上,A的梯度方向垂直于边缘,B和C在A的梯度方向上,因此A和B、C比较来确定A的梯度是否为局部最大值。如果A的梯度为局部最大值,则A进入下一步,否则判断A不是边缘,A被抑制(置为0)。
4 滞后阈值法(双阈值)
这一步我们设置两个阈值
A在
通过以上四步我们就得到了图像的边缘。
OpenCV中Canny()方法的参数与上述描述一致。
1万+

被折叠的 条评论
为什么被折叠?



