Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

JavaとFourierTransformに関するshigiryouのブックマーク (2)

  • 【Java】画像をフーリエ変換したい!【FFT】 - Qiita

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

    【Java】画像をフーリエ変換したい!【FFT】 - Qiita
  • 高速フーリエ変換(FFT)の解説。理論編 - プログラムdeタマゴ

    私はあまり画像を波長空間でフィルタリングとか言うことをやらないので、実のところ、今までFFTどころか離散フーリエ変換(DFT)すらしたこと無かった。 というわけで、ちょっと調べてみたのでまとめてみようと思う。かなり長い記事になるよ。 [原理解説] 離散フーリエ変換の式(1)について考察をおこなう。 (1) 式(1)において、特に となる場合を考える。なお、nに関しては0を含んでも良い。(Nが全く見た目が変化しなかったので、英語で書いた。要するに自然数) このとき、 を満たす適当な整数j,k,l,mを定義すると、u,xは以下の様にかける (2) (3) (2),(3)を用いて式(1)を書き換えると、 (4) となる。 式(4)を展開し、整理すると、 (5) ここで、式(5)の大括弧でくくった部分は、mとkの関数と見なせるので (6) を用いると、結局式(1)は (7) (8) (9) という

    高速フーリエ変換(FFT)の解説。理論編 - プログラムdeタマゴ
  • 1