1,Canny 边缘检测算法
Canny 算法希望在提高边缘的敏感性的同时抑制噪声, 具体而言包括三个基本目标:
错误率低,对边缘的错判率、漏判率低;
定位性能好,检测的边缘点尽可能接近实际边缘的中心;
单一边缘有且应当只有一个准确的响应 ,并尽可能抑制虚假边缘。
Canny 算法的本质是从数学上表达了这三个准则,并试图得到最优解。Canny 算法使用四个指数函数的线性组合形成的最佳边缘算子,可以由高斯函数的一阶导数来近似。
Canny 边缘检测算法是目前最优秀和最流行的边缘检测算法之一。算法不容易受噪声影响,能够识别图像中的弱边缘和强边缘,并能结合强弱边缘的位置关系给出图像整体的边缘信息。但是 Canny 算法编程复杂、运算较慢。
Canny 算法的基本步骤为:
(1)使用高斯滤波对图像进行平滑;
用二维高斯核与灰度图像进行卷积,实现平滑滤波:![在这里插入图片描述]
(2)用一阶有限差分计算梯度幅值和方向;
梯度向量的幅度 M 和角度 α \alpha α 为:
具体应用中,可以采用 Sobel 算子、Prewitt算子、Roberts算子等进行梯度幅值的计算。
(3