数字图像处理作业实验六 图像增强锐化
程序员文章站
2022-03-29 22:47:53
...
分别采用Roberts算子、Sobel算子、Prewitt算子、拉普拉斯算子对2幅灰度图像进行边缘检测。其中,一幅图像边缘比较明显,另一幅则比较“平坦”。对这些方法给出简要评价。
matlab脚本如下:
im1 = imread('et.tif');
h = [0,1,0;1,-4,1;0,1,0];
im1_rob = edge(im1,'roberts');
im1_sob = edge(im1,'sobel');
im1_pre = edge(im1,'prewitt');
im1_log = edge(im1,'log');
im1_la = imfilter(im1,h);
figure;
subplot(231)
imshow(im1);
title('原图像');
subplot(232)
imshow(im1_rob);
title('roberts算子');
subplot(233)
imshow(im1_sob);
title('sobel算子');
subplot(234)
imshow(im1_pre);
title('prewitt算子');
subplot(235)
imshow(im1_log);
title('高斯拉普拉斯算子');
subplot(236)
imshow(im1_la);
title('拉普拉斯算子');
%
im2 = imread('8-Boy.bmp');
h = [0,1,0;1,-4,1;0,1,0];
im2_rob = edge(im2,'roberts');
im2_sob = edge(im2,'sobel');
im2_pre = edge(im2,'prewitt');
im2_log = edge(im2,'log');
im2_la = imfilter(im2,h);
figure;
subplot(231)
imshow(im2);
title('原图像');
subplot(232)
imshow(im2_rob);
title('roberts算子');
subplot(233)
imshow(im2_sob);
title('sobel算子');
subplot(234)
imshow(im2_pre);
title('prewitt算子');
subplot(235)
imshow(im1_log);
title('高斯拉普拉斯算子');
subplot(236)
imshow(im2_la);
title('拉普拉斯算子');
检测结果如下: