www.gusucode.com > 《matlab图像处理与界面编程宝典》秦襄培 编著,每章的MATLAB源代码程序 > 第23章/代码23-2.txt
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)'); % 显示边缘探测图像