对一张图片傅里叶变换后的频谱和相角,并分别用频谱和相角以及频谱+相角利用逆傅里叶变换图像重建

matlab关于傅里叶变换后的频谱和相角的图像重建

题目:求出一张图片的傅里叶变换后的频谱和相角,并分别用频谱、相角、频谱+相角进行图形重构。

流程
1、对原灰度图像进行傅里叶变换
2、求出原灰度图像的频谱和相角
3、对频谱和相角进行重建
4、分别用频谱+相角、频谱 、相角重建图像

提示
求频谱:abs()
求相角可以用phi = atan2(I,R),也可以直接用 phi = angle()得出相角大小

原图:
在这里插入图片描述

实验代码:
f = imread(‘C:\Users\ASUS\Desktop\数字图像处理\IMG_4846.JPG’); %读取原图像
x = rgb2gray(f);%得到灰度值图像
subplot(2,3,1);imshow(x);title(‘原图像’);

F = fft2(x); %原灰度图像进行傅里叶变换
s = abs(F); subplot(2,3,2);imshow(s);title(‘原图像频谱’); %求原灰度图像的频谱
ph = angle(F);subplot(2,3,3);imshow(ph);title(‘原图像相角’); %求原灰度图像的相角

Fr = s.*cos(ph)+s.*sin(ph).*i; %利用相角和频谱重建图像
fr = abs(ifft2(Fr));
f = uint8(fr);subplot(2,3,4);imshow(f);title(‘用频谱和相角重建的图像’);

magif=ifft2(s); %用频谱重建图像
Fa = magif.*cos(ph)+s.*sin(ph).*i;
fa = abs(ifft2(Fa));
faa = uint8(fa);subplot(2,3,5);imshow(faa);title(‘用频谱重建的图像’);

phaif=ifft2(exp(j*ph)); %用相角重建图像
Fb = s.*cos(phaif)+s.*sin(phaif).*i;
fb = abs(ifft2(Fb));
fbb = uint8(fb);subplot(2,3,6);imshow(fbb);title(‘用相角重建的图像’);

实验结果:
分别利用频谱、相角、频谱+相角分别进行图形重构

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值