使用sobel检测器来提取边缘

%使用sobel检测器来提取边缘
f=imread('building.tif');%读取图像
subplot(3,2,1),imshow(f),title('原图像')

[gt,t]=edge(f,'sobel','vertical');%用sobel来提取垂直边缘检测
subplot(3,2,2),imshow(gt),title('垂直sobel掩模后图像')

gv=edge(f,'sobel',0.15,'vertical');%阈值T=0.15的sobel提取垂直边缘检测
subplot(3,2,3),imshow(gv),title('指定阈值后图像')

gboth=edge(f,'sobel',0.15);%默认both的阈值T=0.15的边缘检测
subplot(3,2,4),imshow(gboth),title('指定阈值水平边缘和垂直边缘后图像')

w45=[-2 -1 0;-1 0 1;0 1 2]%指定掩模(45°)
g45=imfilter(double(f),w45,'replicate');%指定掩模的replicate的滤波器
T=0.3*max(abs(g45(:)));%指定阈值
g45=g45>=T;%查找大于T的值
subplot(3,2,5),imshow(g45),title('45°边缘后图像')

w45=[0 1 2;-1 0 1;-2 -1 0];%指定掩模(-45°)
g45=imfilter(double(f),w45,'replicate');%指定掩模的replicate的滤波器
T=0.3*max(abs(g45(:)));%指定阈值
g45=g45>=T;%查找大于T的值
subplot(3,2,6),imshow(g45),title('-45°边缘后图像')
    原文作者:大白菜丫丫
    原文地址: https://blog.csdn.net/YangYaYan/article/details/90051499
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞