完整内容迁移至
http://www.face2ai.com/DIP-2-3-FFT算法理解与c语言的实现/
http://www.tony4ai.com/DIP-2-3-FFT算法理解与c语言的实现/
- 为什么需要FFT
第一个问题是为什么要创造FFT,简单的说,为了速度。我们承认DFT很有用,但是我们发现他的速度不是很快,1D的DFT原始算法的时间复杂度是O(n^2),这个可以通过公式观察出来,对于2D的DFT其时间复杂度是O(n^4),这个速度真的很难接受,也就是说,你计算一幅1024x768的图像时,你将等大概。。。大概。。。我也没试过,反正很久。不信的自己去试试。所以找到一种快速方法的方法计算FFT势在必行。
以下为DFT公式
计算一个4点DFT。计算量如下:
- 如何得到FFT