質問: C ++で2D高速フーリエ変換を実行する方法 投稿がありました。このトピックについては、返信はありません。 与えられた画像fの **2D高速フーリエ変換**を実行する関数を書く方法 いくつかの整数mとnについて幅= 2 ^ m、高さ= 2 ^ nと仮定し、入力画像が既に適切に埋められていると仮定することができます。 **入力:** f - 複素数で表される2D画像 **出力:** F - 変換された係数(複素数でも表されます) ``` void FFT2D(Complex *f, Complex *F, int width, int height) { } ``` あなたが私のためにそれをプログラムしてほしいと思っている皆のために: 私はしません。これがどう動くべきかの理論的な説明がほしい
回答: 私は誰もあなたのためにFFTの実装を書くつもりはないと思う。それは些細で時間がかかりません(あなたもゼロの努力を示しています)。 あなたはその背後にある数学を理解していますか?その背後にある数学を理解していれば、さまざまなFFTアルゴリズム(Cooley Tukeyが思い浮かぶ)を見て、単純に実装する必要があります。また、これは宿題のようなにおいをします。 But since you asked, here's a C implementation of a DFT and FFT courtesy of Google: PS:*私*のA *実装を記述しますか?