根据下面两种梯度的定义方式,分别输出利用梯度法锐化后的图像。其中图像梯度的定义为:
主要代码如下:
clc;
I=imread('lena.bmp');
A=double(I);
subplot(1,2,1);
imshow(I);title('原图');
[gradX, gradY]=gradient(A);
Grad=sqrt(gradX.*gradX+gradY.*gradY);
% 矩阵相乘用点乘
% 图像大小是512*512
for i=1:512-1
for j=1:512-1
if(Grad(i,j)>20)
% 规定阈值为20
% 要用Grad(i,j),这里是矩阵,不是一个数值
A(i,j)=0;
else
A(i,j)=255;
end
end
end
subplot(1,2,2);
imshow(uint8(A));title('使用函数');
运行截图: