对一幅图像进行傅里叶变换后,显示其频谱图为什么有时候用imshow(abs(F))有时候用imshow(log(abs(F)))?有什么区别和联系呢?(F为图像的傅里叶变换)
f = imread('tire.tif');
imshow(f)
F = fft2(f); % 傅氏变换
Fc = fftshift(F); % ZX化
Fm = abs(Fc); % 取模
figure, imshow(Fm, [ ])
figure, imshow(log(1+Fm), [ ]) % 对数变换,增强显示视觉效果
G = ifftshift(Fc); % 对Fc去ZX化
g = ifft2(G); % 对G逆变换
figure, imshow(g) % 原图像
你要注意整个流程,f ---> F ----> Fc , 所以要回去的话当然是Fc --- > G --- > g,就是先对Fc去ZX化得到G,再对G逆变换得到g,这样才行。