目前我正在使用PIL和NumPy。我有一张彩色的png
图片,我想要:
- 将它读取成灰度图像
- 转换为NumPy数组
- 对数组执行FFT
- 显示图像
这是我尝试的代码(在带有--pylab
标志的IPython中):
In [1]: import Image
In [2]: img = Image.open('ping.png').convert('LA')
In [3]: img_as_np = np.asarray(img)
In [4]: img_as_np
Out[4]: array(<Image.Image image mode=LA size=1000x1000 at 0x105802950>, dtype=object)
In [5]: img_fft = fft.fft2(img_as_np) // IndexError: index out of range for array
LA
模式可以让我在灰度模式下使用imshow()
。现在我意识到L
也可以将其置于灰度模式,但我只需要添加一个参数到imshow()
中,以确保它正确地显示为灰度。我从下面的答案中学到,A
阻止了转换的正确进行...这是我的错误 :-) 谢谢! - adelbertc