上一篇 图像处理:梯度与反色https://blog.youkuaiyun.com/ckc_csdn/article/details/114609915
f=imread('moon.tif');
f2 = imcomplement(f); %imcomplement 对图像求补
g=f;
[h w]=size(f);
for i=1:h-1
%求梯度
for j=1:w-1
a=f(i+1,j)-f(i,j); % x方向上求梯度
b=f(i,j+1)-f(i,j); % y方向上求梯度
f3(i,j)=abs(a)+abs(b);
end
end
for i=1:h-1
% 左边求梯度
for j=1:w/2
a=f(i+1,j)-f(i,j); % x方向上求梯度
b=f(i,j+1)-f(i,j); % y方向上求梯度
% c=a.^2; % C = A.^B 计算 A 中每个元素在 B 中对应指数的幂
% d=b.^2;
% g(i,j)=sqrt(a.^2 + b.^2);
g(i,j)=abs(a)+abs(b);
end
for j=w/2:w
g(i,j)=f2(i,j); %右边对图像求补
end
end
% f3=f-g;
subplot(2,2,1);
imshow(f);
title('原图');
subplot(2,2,2);
imshow(f2);
title('补图');
subplot(2,2,3);
imshow(f3);
title('梯度');
subplot(2,2,4);
imshow(g);
title('左边梯度 右边反色');