我想得到一幅灰度图像中每个空间频率的图表。
我被告知尝试np.fft.fft2
但显然这不是我需要的(根据this question)。然后我被告知要调查np.fft.fftfreq
- 虽然听起来就像我需要的那样,它只需要一个整数作为输入,所以
np.fft.fftfreq(np.fft.fft2(image))
不起作用。也不是:
np.fft.fftfreq(np.abs(np.fft.fft2(image)))
我怎么能尝试这样做?对于傅立叶变换来说,这似乎是一项相当微不足道的任务。它实际上是傅立叶变换的 任务。我不明白为什么np.fft.fft2
没有标志使频率分析与方向无关。
答案 0 :(得分:3)
也许您应该重读相关问题中的评论,以及上次评论中发布的文档。您应该将图像形状传递给np.fft.fftfreq
:
freqx = np.fft.fftfreq(image.shape[0])
用于x方向和
freqy = np.fft.fftfreq(image.shape[1])
表示y方向。
结果将是fft2
返回的频率分类的中心,例如:
image_fft = np.fft.fft2(image)
然后,幅度image_fft[i,j]
对应的频率在x方向为freqx[i]
,在y方向为freqy[i]
。
你的最后一句话表明你想要做一些完全不同的事情。二维输入的傅立叶变换通常也是二维的。您想要使用什么偏离定义?