步骤
1.将图片灰度化
2.将图片进行高斯滤波
3.将计算梯度值和方向
4.非极大值抑制
5.双阈值选取
6.边缘检测
原理
步骤1上来先滤波。理论上将图像梯度幅值的元素值越大,说明图像中该点的梯度值越大,但这不能说明该点就是边缘。在Canny算法中,非极大值抑制(步骤3)
是进行边缘检测的重要步骤,通俗意义上是指寻找像素点局部最大值,沿着梯度方向,比较它前面和后面的梯度值进行了。步骤4,是一个典型算法,有时候我们
并不像一刀切,也就是超过阈值的都是边缘点,而是设为两个阈值,希望在高阈值和低阈值之间的点也可能是边缘点,而且这些点最好在高阈值的附近,也就是说
这些中间阈值的点是高阈值边缘点的一种延伸。所以步骤4用了双阈值来检测和连接边缘。