【发布时间】:2013-01-12 16:12:24
【问题描述】:
目前我正在使用 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模式(带alpha 的灰度)? -
在您重新考虑之后,stackoverflow.com/a/14472089/1832154 的答案显示了如何正确显示傅里叶变换的结果。
-
我在某处读到
LA模式可以让我在灰度中使用imshow(),我现在意识到L也将它置于灰度中,但我只需要向imshow()添加一个参数以确保它正确显示为灰度。我了解到(从下面的答案)A正在阻止转换正常发生.. 我的错误 :-) 谢谢!
标签: python image-processing numpy python-imaging-library fft