Laplacian算子定义为
它的差分形式为
表示成模板的形式就是 。Laplacian算子另外一种形式是,也经常使用。Laplace算子是一种各向同性算子,在只关心边缘的位置而不考虑其周围的象素灰度差值时比较合适。Laplace算子对孤立象素的响应要比对边缘或线的响应要更强烈,因此只适用于无噪声图象。存在噪声情况下,使用Laplacian算子检测边缘之前需要先进行低通滤波。
MATLAB代码:
I=imread('lena.jpg');
% I=double(I);
subplot(2,2,1);
imshow(I);
title('原图像');
%%
[m n]=size(I);
I1=zeros(m,n);
G1=[0 -1 0;-1 4 1;0 -1 0];
G2=[-1 -1 -1;-1 8 -1;-1 -1 1];
for i=2:m-1
for j=2:n-1
for k=-1:1
for p=-1:1
I1(i,j)=I1(i,j)+I(i+k,j+p)*G1(k+2,p+2);
end
end
end
end
subplot(2,2,2);
imshow(I1,[]);
%%
I2=zeros(m,n);
for i=2:m-1
for j=2:n-1
for k=-1:1
for p=-1:1
I2(i,j)=I2(i,j)+I(i+k,j+p)*G2(k+2,p+2);
end
end
end
end
subplot(2,2,3);
imshow(I2,[]);