• ベストアンサー

2次元フーリエ変換の実際について

「画像などを対象にする2次元フーリエ変換は、縦方向の1次元フーリエ変換と横方向の1次元フーリエ変換を組み合わせることにより計算できます」 との解説があります。下に示すような2次元の値で計算する場合、具体的にどのようにすればよいのでしょうか? (9×9ピクセルの2次元画像でa1~a9はピクセル値とする)           a1 a2 a3            a4 a5 a6            a7 a8 a9 計算方法 1) 横方向(→方向)の1次元フーリエ変換をおこなう          →a1 a2 a3          →a4 a5 a6          →a7 a8 a9 2) 縦方向(→方向)の1次元フーリエ変換をおこなう          →a1 a4 a7          →a2 a5 a8          →a3 a6 a9 これはできるのですが、「縦方向の1次元フーリエ変換と横方向の1次元フーリエ変換を組み合わせる」の意味がわかりません。 横方向や縦方向の1次元フーリエ変換した値をどのようにすればいいのでしょうか? 具体的に教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
noname#94461
noname#94461
回答No.3

実際に扱ったことがあるのはN=2**n 点数 FFTですが、任意点数のFFTも可能のようです。 但し、2**nの場合は N*log2(N)に比例した時間で処理可能、in place computation 可能 任意点数の場合は  N*Nに比例した時間が必要、in place computation不可能 (temporary working arrayが必要)等の点が異なってきます。 点数が少ない場合は余り差はないのですが、512,1024point等と点数が増えた場合、大きな差となります。 少しサーチしてみました。 演算時間が問題になるような場合には次のフリーソフトが参考になると思われます。 http://www.fftw.org/ "二次元 FFT OR フーリエ変換 画像" 等でサーチしてみて下さい。 http://www.enjoy.ne.jp/~k-ichikawa/ フーリエ解析とは...

masakumi
質問者

お礼

ありがとうございました。 またのご指導よろしくお願いします。

その他の回答 (2)

noname#94461
noname#94461
回答No.2

"二次元 FFT" 等でサーチすれば色々と資料が見つかります。 例えば http://www.metro-hs.ac.jp/rs/sinohara/dft_210/mri_genkou5.htm フーリエ変換の実際の計算法 http://ja.wikipedia.org/wiki/離散フーリエ変換 また、サブルーチンなどは次でサーチすることが出来ます。 http://www.google.com/codesearch/advanced_code_search http://www.koders.com/ FFT 2-dimension 等でサーチして下さい。

masakumi
質問者

お礼

ありがとうございました。 検索して調べてみます。 補足ですが、エクセルの分析でフーリエ変換させるときデータ数は2のn乗が必要ですが、フーリエ変換はデータ数が奇数ではできないのですか?

  • SortaNerd
  • ベストアンサー率43% (1185/2748)
回答No.1

フーリエ変換した結果に対してフーリエ変換を行います。

masakumi
質問者

補足

ありがとうございました。 フーリエ変換した結果に対しての「結果」とは、横方向で計算したフーリエ変換の値の絶対値〈振幅)を求め、それをまた縦方向にフーリエ変換し、同じように振幅で示せばよいのでしょうか?(振幅を求めたいとき)

関連するQ&A