X=imread('lena.jpg'); %读取彩色图像
Y=rgb2gray(X); %将彩色图像转化为灰度图像
figure(1);
imshow(Y);
title('灰度图像');
%计算边缘检测算子,设sigma=2
[m,n]=size(Y);
for x=1:m
for y=1:n
G(x,y)=(((x-m/2-1)^2+(y-n/2-1)^2)/(2*2^2)-1)/(pi*2^4)*exp(-((x-m/2-1)^2+(y-n/2-1)^2)/(2*2^2));
end
end
Y=double(Y);
g=conv2(Y,G,'same');
figure(2);
imshow(im2bw(g,0.3));
title('图像边缘');