Robert:边缘定位精度较高,对于陡峭边缘且噪声低的图像效果较好,但没有进行平滑处理,没有抑制噪声的能力。
sobel和prewitt:进行了平滑处理,对噪声具有一定抑制能力,但容易出现多像素宽度。
Laplacian:对噪声较为敏感,使噪声能力成分得到加强,容易丢失部分边缘方向信息,造成一些不连续的检测边缘,同时抗噪声能力较差。
log:抗噪声能力较强,但会造成一些尖锐的边缘无法检测到。
canny:最优化思想的边缘检测算子,同时采用高斯函数对图像进行平滑处理,但会造成将高频边缘平滑掉,造成边缘丢失,采用双阈值算法检测和连接边缘。
代码实现
I=imread('1.jpg');
I0=rgb2gray(I);
subplot(231);
imshow(I);
BW1=edge(I0,'Roberts',0.16);
subplot(232);
imshow(BW1);
title('Robert算子边缘检测')
BW2=edge(I0,'Sobel',0.16);
subplot(233);
imshow(BW2);
title('Sobel算子边缘检测')
BW3=edge(I0,'Prewitt',0.16);
subplot(234);
imshow(BW3);
title('Prewitt算子边缘检测');
BW4=edge(I0,'LOG',0.012);
subplot(235);
imshow(BW4);
title('LOG算子边缘检测')
BW5=edge(I0,'Canny',0.2);
subplot(236);
imshow(BW5);
title('Canny算子边缘检测')