概要 ふと、画像をフーリエ変換するソフトをJavaで作成することになりました。 ただ、これがなかなか面倒だったので、試行錯誤の記録をメモしておきます。 FFTライブラリについて フーリエ変換をプログラムで利用する際は通常、既存のFFTライブラリに頼ることになります。カリカリにチューニングされているものとして有名なのは、FFTWや大浦版FFTやOTFFTなどですね。今回はJavaで組むと決めていたので、このうちJava移植版があった大浦版FFTを使用することにしました。 ところでこの移植版、用意されている関数がrdftしか無いんですね。rdftとは、「実離散フーリエ変換」という意味で、入力が(2^n個の)実数だけ受け付けますよということです。どうせ入力データは画像(実数データ)なのでその点は別にいいのですが、問題はこの関数の挙動がよく分からないことです。 ということで、適当にテストしてみまし