求教用edge函数提取图像的边缘问题

求教用edge函数提取图像的边缘问题,第1张

I=imread('lenabmp');% 提取图像
BW1=edge(I,'sobel'); %用SOBEL算子进行边缘检测
BW2=edge(I,'roberts');%用Roberts算子进行边缘检测
BW3=edge(I,'prewitt'); %用prewitt算子进行边缘检测
BW4=edge(I,'log'); %用log算子进行边缘检测
BW5=edge(I,'canny'); %用canny算子进行边缘检测
h=fspecial('gaussian’,5);
BW6=edge(I,’canny’);
subplot(2,3,1), imshow(BW1);
title(‘sobel edge check’);
subplot(2,3,2), imshow(BW2);
title(‘sobel edge check’);
subplot(2,3,3), imshow(BW3);
title(‘prewitt edge check’);
subplot(2,3,4), imshow(BW4);
title(‘log edge check’);
subplot(2,3,5), imshow(BW5);
title(‘canny edge check’);
subplot(2,3,6), imshow(BW6);
title(‘gasussiancanny edge check’);%此为用高斯滤波后Canny算子边缘检测结果
(注意:代码中有一些标点是中文模式,若输入代码后标点显示红色,则为中文标点,改回来就行了)

 可以设置为默认, *** 作如下:
1、在win10中在开始菜单中找到“设置”打开;
2、在打开的设置面板中找到“系统”,如图:
3、然后在系统下面找到左边的“默认应用”,之后会看到应用对应的“Web浏览器”,如图:
4、点击“选择默认应用”,如下所示会看到很多浏览器了,选择Microsoft Edge 设置成默认浏览器:

edge不是matlab的内置函数,如何判断可以用
>>type edge 是否能显示其函数内容,如能显示就不是内置函数。
如不用edge函数,可以根据LOG算子(边缘检测算法)来实现edge函数的功能。
实现LOG算子的步骤:(1) 采用二维高斯滤波器平滑滤波; (2) 采用二维拉普算子进行图像增强; (3) 依据二阶导数零交叉进行边缘检测。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13352981.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-20
下一篇 2023-07-20

发表评论

登录后才能评论

评论列表(0条)

保存