灰度图像到 NumPy 数组进行傅里叶变换

2024-03-24

目前我正在使用 PIL 和 NumPy。我有一个彩色的png图像,我想要:

  1. 以灰度读取
  2. 转换为 NumPy 数组
  3. 对阵列执行 FFT
  4. 显示图像

这就是我正在尝试的(在 IPython w/--pylab flag):

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

您希望使用模式“L”而不是“LA”作为 Convert() 方法的参数。 'LA' 留下一个 alpha 通道,然后 numpy.asarray 无法按您的预期工作。如果您需要 alpha 通道,那么您将需要一种不同的方法来转换为 numpy 数组。否则,使用模式“L”。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

灰度图像到 NumPy 数组进行傅里叶变换 的相关文章

随机推荐