根据下面两种梯度的定义方式,分别输出利用梯度法锐化后的图像。其中图像梯度的定义为:

主要代码如下:
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('使用函数');
运行截图:
该博客介绍了如何使用MATLAB实现图像梯度法进行图像锐化。通过读取'lena.bmp'图像,计算梯度并设定阈值,将超过阈值的像素设为0,其余设为255,从而达到锐化效果。展示了一幅原图及其锐化后的对比图。
6517

被折叠的 条评论
为什么被折叠?



