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,[]);