3.2 在MATLAB中计算及观察二维DFT
function t = func_3_2()
%读取图片
f = imread('Fig0303(a).tif');
%返回傅里叶变换,大小为MxN,0填充
F = fft2(f);
%计算每个元素的幅度
S = abs(F);
%显示图片
imshow(S,[])
%将变换的原点移动到频域矩阵的中心
Fc = fftshift(F);
%显示图片
figure,imshow(abs(Fc),[])
%频谱范围很大,中心处的亮度值占支配地位,用Log变换处理这个难点
S2 = log(1+abs(Fc));
%显示图片
figure,imshow(S2,[])
%反居中变换的语法
F = ifftshift(Fc);