拉普拉斯算子一种二阶边缘检测算子,它是一个线性的、移不变算子。是对二维函数进行运算的二阶导数算子,对一个连续函数f (x, y)它在图像中的位置(x, y),拉普拉斯值定义为:


Laplacian算子利用二阶导数信息,具有各向同性,即与坐标轴方向无关,坐标轴旋转后梯度结果不变。使得图像经过二阶微分后,在边缘处产生一个陡峭的零交叉点,根据这个对零交叉点判断边缘。其4邻域系统和8邻域系统的Laplacian算子的模板分别如图所示。

 

 通常使用的拉普拉斯算子3×3模板如图所示:


Laplacian算子对噪声比较敏感,Laplacian算子有一个缺点是它对图像中的某些边缘产生双重响应。所以图像一般先经过平滑处理,通常把Laplacian算子和平滑算子结合起来生成一个新的模板。

I=imread('lena.bmp'); I=im2double(I); %figure; %imshow(I);title('org img');  [height width R]=size(I); for i=2:height-1     for j=2:width-1        L(i,j)=4*I(i,j)-I(i-1,j)-I(i+1,j)-I(i,j-1)-I(i,j+1);          end end %figure; %imshow(L,[]);  %G(i,j)=0.3*L(i,j)+0.7*I(i,j); %figure; %imshow(G,[]);  for i=1:height-1     for j=1:width-1         if (L(i,j)<0.2)             L(i,j)=1;         else L(i,j)=0;         end     end end figure; imshow(L,[]);