急求sobel算子检测边缘 Matlab程序代码

发布网友 发布时间:2022-04-23 04:47

我来回答

1个回答

热心网友 时间:2023-11-03 23:55

f=imread('peppers.png'); % 读入图像
f=rgb2gray(f); % 灰度转换
f=im2double(f); % 数据类型转换
% 使用垂直Sobel算子,自动选择阈值
[VSFAT Threshold]=edge(f,'sobel','vertical'); % 边缘探测
figure, imshow(f),title('Original Image'), % 显示原始图像
figure,imshow(VSFAT),title('Sobel Filter - Automatic Threshold'); % 显示边缘探测图像
%使用水平和垂直Sobel算子,自动选择阈值
SFST=edge(f,'sobel',Threshold);
figure,imshow(SFST),title('Sobel Filter (Horizontal and Vertical)'); % 显示边缘探测图像
%使用指定45度角Sobel算子滤波器,指定阈值
s45=[-2 -1 0;-1 0 1;0 1 2];
SFST45=imfilter(f,s45,'replicate');
SFST45=SFST45>=Threshold;
figure,imshow(SFST45),title('Sobel Filter (45 Degree)'); % 显示边缘探测图像
%使用指定-45度角Sobel算子滤波器,指定阈值
sm45=[0 1 2;-1 0 1;-2 -1 0];
SFSTM45=imfilter(f,sm45,'replicate');
SFSTM45=SFSTM45>=Threshold;
figure,imshow(SFSTM45),title('Sobel Filter (-45 Degree)'); % 显示边缘探测图像

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com