数字图像处理----------------图像频域变换

1.对图像作傅立叶变换,显示频域振幅图像。作傅立叶逆变换,显示图像,看是否与原图像相同

首先,要明白什么是傅里叶变换.傅里叶变换就是将一种信号从时域转换到频域的数学工具.那逆变换就很显而易见就是从频域信号转换回时域信号.

代码展示:

% 读取灰度图像
img = imread('C:/Users/86158/Desktop/matlab/by.jpeg');
img = rgb2gray(img);
% 显示原图像
subplot(1,3,1);
imshow(img);
title('原图');
% 进行傅立叶变换
f = fft2(img);
fshift = fftshift(f);
magnitude_spectrum = 20 * log(abs(fshift));
% 显示频域振幅图像
subplot(1,3,2);
imshow(magnitude_spectrum, []);
title('频域振幅');
% 进行傅立叶逆变换
f_ishift = ifftshift(fshift);
img_back = ifft2(f_ishift);
img_back = abs(img_back);
% 显示逆变换后的图像
subplot(1,3,3)
imshow(img_back, []);
title('逆变后图');

首先读取位于指定路径的图像文件,并将其存储在变量img中。然后将彩色图像转换为灰度图像。创建一个1行3列的子图,选择第1个子图作为当前图像并显示原图像。接着对灰度图像进行二维傅立叶变换,得到一个复数矩阵f,其中每个元素表示不同频率成分的振幅和相位.fshift = fftshift(f)将傅立叶变换的结果进行频率移动,使得低频分量位于图像中心。magnitude_spectrum = 20 * log(abs(fshift))计算频域振幅谱,并进行对数变换,可以更好的显示振幅的范围。然后对频域进行逆移动,使得低频分量回到原来的位置并对逆移动后的频域进行二维傅立叶逆变换,得到逆变换后的图像,取逆变换后的图像的绝对值,去除虚部并在当前子图中显示逆变换后的图像。

结果展示:

可以看出逆变换的图像和原图像基本相同,没什么区别,但好像逆变换之后的图像阴影更多了,稍微清晰了一点。

小结:

对傅立叶变换的结果进行频率移动是为了使得低频分量位于图像中心。这样做是可以更好地可视化频域信息,因为低频成分通常是对应图像的整体结构。

对图像做傅里叶变换可以方便我们更好的理解图像的频域特征。比如图像中的高频成分通常对应图像的边缘和细节,而低频成分对应图像的整体结构。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值