laplacian算子的运用

Laplacian算子定义为

基于Laplacian算子的边缘检测

它的差分形式为
基于Laplacian算子的边缘检测


表示成模板的形式就是 基于Laplacian算子的边缘检测。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,[]);



 

你可能感兴趣的:(laplacian算子的运用)