常见的边缘检测算子比较

转载:
https://www.cnblogs.com/bigzhao/p/6000794.html
https://wenku.baidu.com/view/987b48f525c52cc58bd6bea6.html

边缘检测算子一阶的有Roberts Cross算子,Prewitt算子,Sobel算子,Canny算子, Krisch算子,罗盘算子;而二阶的还有Marr-Hildreth,在梯度方向的二阶导数过零点。

Canny算子

Canny 最好。但是容易把噪点误判为边界。Sobel Prewitt Log 效果差不多。Prewitt比Sobel 去噪效果好。Roberts马马虎虎。适合什么图片那得看图片的噪点情况,一般Canny 算子是最好的。

Canny边缘检测是一种比较新的边缘检测算子,具有很好的边缘监测性能,在图像处理中得到了越来越广泛的应用。

Roberts算子

一种利用局部差分算子寻找边缘的算子,分别为4领域的坐标,且是具有整数像素坐标的输人图像;其中的平方根运算使得该处理类似于人类视觉系统中发生的过程。

X,Y方向各用一个模板,两个模板组合起来构成1个梯度算子。X方向模板对垂直边缘影响最大,Y方向模板对水平边缘影响最大。

Sobel算子

一种一阶微分算子,它利用像素邻近区域的梯度值来计算1个像素的梯度,然后根据一定的绝对值来取舍。

X,Y方向各用一个模板,两个模板组合起来构成1个梯度算子。X方向模板对垂直边缘影响最大,Y方向模板对水平边缘影响最大。

Prewitt算子

Prewitt算子是3*3算子模板。2个卷积核dx ,不要形成了Prewitt算子。与Sobel算子的方法一样,图像中的每个点都用这2个核进行卷积,取最大值作为输出值。

Prewitt算子是加权平均算子,对噪声有抑制作用,但是像素平均相当于对图像进行地同滤波,所以Prewitt算子对边缘的定位不如Roberts算子。

Laplacian算子

Laplacian高斯算子是一种二阶导数算子,将在边缘处产生一个陡峭的零交叉。

前面介绍的几种梯度法具有方向性,不能对各种走向的边缘都具有相同的增强效果。但是Laplacian算子是各向同性的,能对任何走向的界线和线条进行锐化,无方向性。这是拉普拉斯算子区别于其他算法的最大优点。

各个算子的优缺点:

Robert算子定位比较精确,但由于不包括平滑,所以对于噪声比较敏感。

Prewitt算子和Sobel算子都是一阶的微分算子,而前者是平均滤波,后者是加权平均滤波且检测的图像边缘可能大于2个像素。这两者对灰度渐变低噪声的图像有较好的检测效果,但是对于混合多复杂噪声的图像,处理效果就不理想了。

LOG滤波器方法通过检测二阶导数过零点来判断边缘点。LOG滤波器中的a正比于低通滤波器的宽度,a越大,平滑作用越显著,去除噪声越好,但图像的细节也损失越大,边缘精度也就越低。所以在边缘定位精度和消除噪声级间存在着矛盾,应该根据具体问题对噪声水平和边缘点定位精度要求适当选取。

你可能感兴趣的:(数字图像处理)