• ベストアンサー

画像を二次元フーリエ変換

c言語で画像を入力して2次元フーリエ変換を行い,逆変換をしたいのですが全然うまくいきません. どなたか教えていただけませんか? いろいろ調べたのですが,プログラム初心者なのでどう書いていけばいいのかわからず辛いです... サンプルのコードも教えていただけると助かります. 画像サイズは256×256画素程度です.

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

  • ベストアンサー
  • ki073
  • ベストアンサー率77% (491/634)
回答No.2

検索すればソースコードは見つかると思います。 例えば http://hooktail.org/computer/index.php?2%BC%A1%B8%B5%A5%D5%A1%BC%A5%EA%A5%A8%CA%D1%B4%B9 とか プログラムを作るのが目的ではなく、計算するだけならImageJで画像処理ができます。 http://rsbweb.nih.gov/ij/ メニューにFFTがありますのでそれを使ってみてください。数値での入出力もできます。 フーリエ変換の結果は普通は複素数になるのですが、このソフトは絶対値をとっているはずで、普通はこれで十分ななずです。 複素数の結果が欲しいのなら http://www.r-project.org/ https://www.scilab.org/ http://www.gnu.org/software/octave/ などで計算できます。 画像から数値データへの変換は上記のImageJで可能です。

yoy8e8e8e
質問者

お礼

返信遅くなってしまい申し訳ありませんでした. おかげさまで無事にプログラムが動きました! ありがとうございました!

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

基本的には 1次元のフーリエ変換を各軸に対して実行するだけだから, 1次元フーリエ変換がきちんとできていればできるはず. 「全然うまくいきません」ってのは, 具体的には何がどう「うまくいかない」んですか? とはいえ, なんで「プログラム初心者」がこんなコードを書かされているのかが分からん....

関連するQ&A