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

您所在的位置:网站首页 matlab求逆变换 对一张图片傅里叶变换后的频谱和相角,并分别用频谱和相角以及频谱+相角利用逆傅里叶变换图像重建

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

2024-06-26 13:30| 来源: 网络整理| 查看: 265

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(‘用相角重建的图像’);

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



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3