拉普拉斯算子进行图像边缘提取

本实验这个是用拉普拉斯进行边缘的提取,
输入为一个黑白的位图
 
 
 
代码:
function lapalace()
input_image=imread('lena.bmp','bmp' );%第一个字符串是图像的位置
F=double(input_image);
w=[0,-1,0;-1,4,-1;0,-1,0]; %拉普拉斯算子
[m,n]=size(F); %黑白的图像是二维的,彩色图像多了彩色一维
lapalace_edge=zeros(size(F));
for x=1:m
    for y=1:n
        if(x==1|y==1|x==m|y==n)
         lapalace_edge(x,y)=F(x,y);
        else     temp=w(1,1)*F(x-1,y-1)+w(1,2)*F(x-1,y)+w(1,3)*F(x-1,y+1)+w(2,1)*F(x,y-1)+w(2,2)*F(x,y)+w(2,3)*F(x,y+1)+w(3,1)*F(x+1,y-1)+w(3,2)*F(x+1,y)+w(3,3)*F(x+1,y+1);
        lapalace_edge(x,y)=temp;
        end
    end
end
figure(100);imshow(uint8(input_image));title( 'orginal image');
figure(200);imshow(uint8(lapalace_edge));title( 'lapalace edge');

 

posted @ 2012-05-07 13:15  文宁  阅读(1363)  评论(0编辑  收藏  举报