我试图绘制图像的2D FFT:
from scipy import fftpack, ndimage
import matplotlib.pyplot as plt
image = ndimage.imread('image2.jpg', flatten=True) # flatten=True gives a greyscale image
fft2 = fftpack.fft2(image)
plt.imshow(fft2)
plt.show()
但我得TypeError: Image data can not convert to float
。
如何绘制图像的2D FFT?
答案 0 :(得分:7)
任何fft的结果通常由复数组成。这就是为什么你不能用这种方式绘制它的原因。根据您要查找的内容,您可以从查看绝对值开始
plt.imshow(abs(fft2))