1986年,John Canny提出了一种边缘检测的方法,即Canny算子,是目前使用最多的边缘检测算法。
John Canny研究了最优边缘检测方法所需的特性,给出了评价边缘检测性能优劣的三个指标:
1 好的信噪比,即将非边缘点判定为边缘点的概率要低,将边缘点判为非边缘点的概率要低;
2 高的定位性能,即检测出的边缘点要尽可能在实际边缘的中心;
3 对单一边缘仅有唯一响应,即单个边缘产生多个响应的概率要低,并且虚假响应边缘应该得到最大抑制。
他将边缘检测看成一个标准的信号处理问题,寻找最优滤波器。
Canny算子解决了前面提到的二阶微分丢失边缘方向信息的问题,同时保持了二阶微分检测边缘的精确和方便。
Canny算子
步骤如下:
1.用高斯低通滤波器平滑图像;
2.计算低通图像的梯度幅值和方向;
3.薄化,对图像进行非极大值抑制;
4.用“双阈值”检测和连接边缘。
1.高斯平滑如前所述,没什么特殊之处。
2.计算梯度强度场和角度场
其中,