2024年6月2日发(作者:)
word格式-可编辑-感谢下载支持
常用的检测算子有:
(1)微分算子
(2)拉普拉斯高斯算子
(3)canny算子
微分算子
Sobel算子, Robert算子,prewitt算子比较
Sobel算子是滤波算子的形式来提取边缘。X,Y方向各用一个模板,两个
模板组合起来构成1个梯度算子。X方向模板对垂直边缘影响最大,Y方向模板
对水平边缘影响最大。
Robert算子是一种梯度算子,它用交叉的差分表示梯度,是一种利用局部差
分算子寻找边缘的算子,对具有陡峭的低噪声的图像效果最好。
prewitt算子是加权平均算子,对噪声有抑制作用,但是像素平均相当于对
图像进行地同滤波,所以prewitt算子对边缘的定位不如robert算子。
源程序:
i=imread('');
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,[7 7]);
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算子提取');
程序运行结果:
word格式-可编辑-感谢下载支持
前期处理图像sobel算子提取
roberts算子提取prewitt算子提取
拉普拉斯高斯算子
拉普拉斯高斯算子是一种二阶导数算子,将在边缘处产生一个陡峭的零交
叉。前面介绍的几种梯度法具有方向性,不能对各种走向的边缘都具有相同的增
强效果。但是Laplacian算子是各向同性的,能对任何走向的界线和线条进行锐
化,无方向性。这是拉普拉斯算子区别于其他算法的最大优点。
源程序:
elog=edge(isuo,'log');
imshow(elog);title('log算子提取');
运行结果:
word格式-可编辑-感谢下载支持
canny算子
Canny边缘检测是一种比较新的边缘检测算子,具有很好的边缘监测性
能,在图像处理中得到了越来越广泛的应用。
源程序:
ecanny=edge(isuo,'canny');
imshow(ecanny);title('canny算子提取');
程序运行结果:
word格式-可编辑-感谢下载支持
边缘检测结果比较
Roberts算子检测方法对具有陡峭的低噪声的图像处理效果较好,但是利用
roberts算子提取边缘的结果是边缘比较粗,因此边缘的定位不是很准确。
Sobel算子检测方法对灰度渐变和噪声较多的图像处理效果较好,sobel算子对边
缘定位不是很准确,图像的边缘不止一个像素。
Prewitt算子检测方法对灰度渐变和噪声较多的图像处理效果较好。但边缘较
宽,而且间断点多。
Laplacian算子法对噪声比较敏感,所以很少用该算子检测边缘,而是用来判断
边缘像素视为与图像的明区还是暗区。
Canny方法不容易受噪声干扰,能够检测到真正的弱边缘。优点在于,使用两种
不同的阈值分别检测强边缘和弱边缘,并且当弱边缘和强边缘相连时,才将弱边
缘包含在输出图像中。


发布评论