1

我想得到一个灰度图像中每个空间频率存在多少的图。

我被告知要尝试np.fft.fft2,但显然这不是我需要的(根据这个问题)。然后我被告知要调查np.fft.fftfreq- 虽然这听起来像我需要的,但它只会接受一个整数作为输入,所以

np.fft.fftfreq(np.fft.fft2(image)) 

不会工作。也没有:

np.fft.fftfreq(np.abs(np.fft.fft2(image)))

我还能怎么做呢?对于傅立叶变换来说,这似乎是一项相当微不足道的任务。这实际上是傅立叶变换任务。我不明白为什么np.fft.fft2没有标志来使频率分析方向不可知。

4

1 回答 1

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]freqx[i]x方向和freqy[i]y方向。

不过,您的最后一句话表明您想做一些完全不同的事情。二维输入的傅里叶变换通常也是二维的。你想使用什么不同的定义?

于 2014-02-10T23:51:25.030 回答