clc; clear;
%读图
%-----------------------------
A = imread('3.jpg');
TA = rgb2gray(A); %转灰度
% TA = imread('pout.tif');
%-----------------------------
%FFT
%-----------------------------
FA = fft2(TA); %FFT2
MFA = abs(FA); %幅度取绝对值
AFA = angle(FA); %相位
%-----------------------------
%IFFT
%-----------------------------
FC = MFA.*exp(j*AFA);%反变换
C = ifft2(FC);
NFC = 1.*exp(j*AFA); %无幅度谱,纯相位谱 subplot(337)----灰度信息丢失
NC = ifft2(NFC);
NNFC = MFA.*exp(j*1);%无相位谱,纯幅度谱 subplot(338)----位置信息丢失
NNC = ifft2(NNFC);
%-----------------------------
%绘图
%-----------------------------
figure;
set (gcf,'Position',[800,120,800,800], 'color','w') %x,y w h
%变换
subplot(331);imshow(TA); title('源图像'); %原图
subplot(332);imshow(fftshift(MFA/10000));title('幅度谱'); %幅度谱
subplot(333);imshow((AFA+pi)/(2*pi)); title('相位谱'); %相位谱
%反变换
subplot(334);imshow(abs(C)/250); title('反变换源图像'); %反变换图像
subplot(337);imshow(abs(NC)*100); title('纯相位谱重建'); %纯相位谱图像重建
subplot(338);imshow(abs(NNC)/290);title('纯幅度谱重建'); %纯幅度谱图像重建