Canny边缘检测算法原理

Canny算子是在边缘检测的三个指标和三个准则的基础上发展起来的一种很有效的边缘检测方法

三个指标:
好的检测
好的定位
最小响应

3个准则:
信噪比准则
定位精度准则
单边缘响应准则

canny边缘检测算法步骤:
1、用高斯滤波器对对图像进行平滑处理
2、利用一阶偏导算子找到图像灰度沿着水平方向Gx和垂直方向Gy的偏导数,并按下列公式求出梯度的幅值和方位。
(一般选用性能最好的sobel算子)
求幅值公式:
在这里插入图片描述

求方位角公式:
在这里插入图片描述
3、对梯度幅值进行非极大值抑制,即找到局部梯度最大值。
方法是在3X3的领域窗内,给定像素P与沿着梯度线方向的两个像素相比,如果P的梯度幅值不比这两个像素的梯度幅值大,则令P=0,否则保留原幅值。
在这里,我们把梯度方向分为水平方向、垂直方向、和正、-45°方向这4种方向来比较梯度幅值的强度。

4、用双阈值算法检测和链接边缘。
方法是凡大于高阈值T1的一定是边缘,凡小于低阈值T2的一定不是边缘;
如果检测结果既大于低阈值又小于高阈值,则要看这个像素的邻接像素中是否有大于高阈值的边缘像素,如果有,则是边缘,否则不是

来源:《C#数字图像处理算法典型案例》 赵春江 人民邮电出版社

你可能感兴趣的:(C#数字图像处理,算法,图像处理,计算机视觉,机器学习)