概述
%使用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°边缘后图像')
最后
以上就是美好热狗为你收集整理的使用sobel检测器来提取边缘的全部内容,希望文章能够帮你解决使用sobel检测器来提取边缘所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复