両者の違いは何ですか? 私はイメージ行列を持っており、それをfftw_complex連続配列にフラット化しましたか? どちらをfftw_plan_dft_2dまたはfftw_plan_dft_1dにするか?誰でもfftw_plan_dft_2dとfftw_plan_dft_1dの違いを説明できますか?
私は両方を試みましたが、両方の動作は全く異なりますか?
私はドキュメントを読もうとしましたが、その違いと使い方についてはあまり得られませんでした。
両者の違いは何ですか? 私はイメージ行列を持っており、それをfftw_complex連続配列にフラット化しましたか? どちらをfftw_plan_dft_2dまたはfftw_plan_dft_1dにするか?誰でもfftw_plan_dft_2dとfftw_plan_dft_1dの違いを説明できますか?
私は両方を試みましたが、両方の動作は全く異なりますか?
私はドキュメントを読もうとしましたが、その違いと使い方についてはあまり得られませんでした。
あなたの質問は、フーリエ変換に関するものです。具体的には、1次元FFTと2次元FFTの違いは何ですか?
短い答えは、2D FFTは、次のと同じであることである。
fftwプランでは、フラット化された複素数行列が使用されますが、fftw_plan_dft_2dはn0およびn1サイズのパラメータを使用して複素数配列を2D行列として正しく解釈できます。
サイズの信号Xの1次元DFT Y N書き込む:
所与1Dの分離可能な産物は、アレイの各次元に沿って変換します。
したがって、2D dftは、最初の次元でdftをとり、もう一方の方向でdftをとることから成ります。それは、こう書いている:
を他の次元上でのDFTを服用すると、最初の結果を変更しないことに注意してください:
確かに、和がfactoredすることができ、the doc of opencvも参照:
このプロパティを備えていない平坦な配列全体の1Dのdftとは異なります。 2Dカーネルへの畳み込みに基づく線形画像フィルタ(ガウス関数など)は、2D dftに依存して、畳み込みをフーリエ空間で点単位の乗算に変換します。画像が2Dの場合、変換された画像も2Dです。説明のためにこのcourseを参照してください。