使用FFTW的2D FFT / IFFT实现。
目前,我已经使用SFML加载了图像,并已使用fftw_plan_dft_2d
将其分解为幅值和相位分量。
一切正常,我已经根据已知的工作软件检查了我的幅值图像,结果是正确的。 (Forward FFT)
我已经通过使用第一个FFT的实数和虚数输出直接从前向FFT(Inverse FFT)直接执行逆2D FFT来检查ifft是否正常工作(某处也存在问题,但这又是一天了) )
我对重新组合幅度和相位以形成实数部分和复杂部分以执行IFFT的方式更感兴趣。
Google返回了很多MATLAB的东西,我完全不了解,因此并没有真正的帮助。
旁注:数学不是我的强项。这就是为什么我觉得自己有点挣扎。如果可能的话,请说明我已经10岁了!
最佳答案
首先,将幅度和相位值转换回复数(实数+虚数):
re = mag * cos(phi);
im = mag * sin(phi);
然后,您可以对这些复数值进行逆FFT。