我试图了解我想分析的一系列图像中存在的空间频率。我决定使用numpy.fft.fft2
函数执行此操作,但显然输出无法绘制 - 你能帮我弄清楚出了什么问题吗?
显然这种情况正在发生,因为输出包含像0.+0.j
这样的值,而matplotlib无法处理这些值。但我不知道如何将它们改为可以处理的东西。
这是我的问题minimal example。
答案 0 :(得分:4)
Matplotlib只能处理实际值。您可以选择结果的实部或虚部,或者幅度甚至是相位。这些可以使用numpy.real
或numpy.imag
,numpy.abs
和numpy.angle
来完成。
最终,我猜这只取决于您想要了解的有关FFT的信息。人们通常对FFT数据的大小最感兴趣,这表明abs
。这可以让您了解各种频率的“功率”。