您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 几种边缘检测算子比较
常用的检测算子有:(1)微分算子(2)拉普拉斯高斯算子(3)canny算子微分算子Sobel算子,Robert算子,prewitt算子比较Sobel算子是滤波算子的形式来提取边缘。X,Y方向各用一个模板,两个模板组合起来构成1个梯度算子。X方向模板对垂直边缘影响最大,Y方向模板对水平边缘影响最大。Robert算子是一种梯度算子,它用交叉的差分表示梯度,是一种利用局部差分算子寻找边缘的算子,对具有陡峭的低噪声的图像效果最好。prewitt算子是加权平均算子,对噪声有抑制作用,但是像素平均相当于对图像进行地同滤波,所以prewitt算子对边缘的定位不如robert算子。源程序:i=imread('tanke.jpg');i2=im2double(i);ihd=rgb2gray(i2);[thr,sorh,keepapp]=ddencmp('den','wv',ihd);ixc=wdencmp('gbl',ihd,'sym4',2,thr,sorh,keepapp);figure,imshow(ixc),title('消噪后图像');k2=medfilt2(ixc,[77]);figure,imshow(k2),title('中值滤波');isuo=imresize(k2,0.25,'bicubic');%sobert、robert和prewitt算子检测图像边缘esobel=edge(isuo,'sobel');erob=edge(isuo,'roberts');eprew=edge(isuo,'prewitt');subplot(2,2,1);imshow(isuo);title('前期处理图像');subplot(2,2,2);imshow(esobel);title('sobel算子提取');subplot(2,2,3);imshow(erob);title('roberts算子提取');subplot(2,2,4);imshow(eprew);title('prewitt算子提取');程序运行结果:拉普拉斯高斯算子拉普拉斯高斯算子是一种二阶导数算子,将在边缘处产生一个陡峭的零交叉。前面介绍的几种梯度法具有方向性,不能对各种走向的边缘都具有相同的增强效果。但是Laplacian算子是各向同性的,能对任何走向的界线和线条进行锐化,无方向性。这是拉普拉斯算子区别于其他算法的最大优点。源程序:前期处理图像sobel算子提取roberts算子提取prewitt算子提取elog=edge(isuo,'log');imshow(elog);title('log算子提取');运行结果:canny算子Canny边缘检测是一种比较新的边缘检测算子,具有很好的边缘监测性能,在图像处理中得到了越来越广泛的应用。源程序:ecanny=edge(isuo,'canny');imshow(ecanny);title('canny算子提取');程序运行结果:边缘检测结果比较Roberts算子检测方法对具有陡峭的低噪声的图像处理效果较好,但是利用roberts算子提取边缘的结果是边缘比较粗,因此边缘的定位不是很准确。Sobel算子检测方法对灰度渐变和噪声较多的图像处理效果较好,sobel算子对边缘定位不是很准确,图像的边缘不止一个像素。Prewitt算子检测方法对灰度渐变和噪声较多的图像处理效果较好。但边缘较宽,而且间断点多。Laplacian算子法对噪声比较敏感,所以很少用该算子检测边缘,而是用来判断边缘像素视为与图像的明区还是暗区。Canny方法不容易受噪声干扰,能够检测到真正的弱边缘。优点在于,使用两种不同的阈值分别检测强边缘和弱边缘,并且当弱边缘和强边缘相连时,才将弱边缘包含在输出图像中。
本文标题:几种边缘检测算子比较
链接地址:https://www.777doc.com/doc-2640014 .html