图像的一阶导数和二阶导数MATLAB实现

基于二阶导数的laplace算子

I=imread('11.jpg');
[H,W]=size(I);
M=double(I);
J=M;
for i=2:H-1
for j=2:W-1
J(i,j)=4*M(i,j)-[M(i+1,j)+M(i-1,j)+M(i,j+1)+M(i,j-1)];
end;
end;
subplot(1,2,1);imshow(I);title('2');
subplot(1,2,2);imshow(uint8(J));title('1');

基于一阶导数的sobel算子

[I,map]=imread('9_1.jpg ');
[H,W]=size(I);
M=double(I);
J=M;
for i=2:H-1
for j=2:W-1
  J(i,j)=abs(M(i-1,j+1)-M(i-1,j-1)+2*M(i,j+1)-2*M(i,j-1)+M(i+1,j+1)-M(i+1,j-1))+abs(M(i-1,j-1)-M(i+1,j-1)+2*M(i-1,j)-2*M(i+1,j)+M(i-1,j+1)-M(i+1,j+1));
end;
end;
subplot(1,2,1);imshow(I);title('original');
subplot(1,2,2);imshow(uint8(J));title('sobel');

一阶导数和二阶导数的效果总结如下:

图像的一阶导数和二阶导数MATLAB实现_第1张图片

图像的一阶导数和二阶导数MATLAB实现_第2张图片


你可能感兴趣的:(图像处理基础理论)