求Matlab编程的代码。对lena.bmp图片,同时对其幅值谱和相位谱恢复图片(重构图片),即双谱重构图像。

2020-05-16 社会 89阅读
i=imread('lena.bmp');
figure;imshow(i);
G=fft2(double(i));
FG=abs(fftshift(G));
PG=angle(G);
IFG=ifft2(FG);
IPG=ifft2(exp(j*PG));
figure;
subplot(2,2,1);
imshow(log(FG+1),[])%显示频谱幅度
title('图像频谱幅度');
subplot(2,2,2);
imshow(angle(fftshift(G)),[])
title('图像相位');
%---------------------------
subplot(2,2,3);
imshow(log(1+abs(IFG)),[]);
title('图像频谱幅度的逆变换');
subplot(2,2,4);
imshow(IPG,[]);
title('图像相位的逆变换');
%---------------------------
M=ifft2(abs(G).*exp(j*PG));
figure;imshow(M,[]);
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com