【发布时间】:2019-11-19 15:00:36
【问题描述】:
我是 python 新手,我只是在图像上尝试二维傅里叶变换,然后在 numpy 中使用 ifft2 重建它。然而,频谱幅度和重建的是白色图像。这可能表明存在一些缩放问题,但我不明白如何解决它。
import matplotlib.image as mpimg
import matplotlib.pyplot as plt
imgloc="C:\\Users\\AnacondaCodes\\cameraman.png"
img=mpimg.imread(imgloc,0)
import numpy as np
f=np.fft.fft2(img)
fshift=np.fft.fftshift(f)
magnitude_spectrum=20*np.log(np.abs(fshift))
f_ishift=np.fft.ifftshift(magnitude_spectrum)
img_back=np.fft.ifft2(f_ishift)
img_back=np.abs(img_back)
plt.subplot(131),plt.imshow(img, cmap='gray')
plt.title('input image'), plt.xticks([]),plt.yticks([])
plt.subplot(132),plt.imshow(magnitude_spectrum, cmap='gray')
plt.title('Magnitude Spectrum'), plt.xticks([]), plt.yticks([])
plt.subplot(133), plt.imshow(img_back,cmap='gray')
plt.title('reconstructed'), plt.xticks([]), plt.yticks([])`
【问题讨论】: