本实验这个是用拉普拉斯进行边缘的提取,
输入为一个黑白的位图
代码:
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');