フーリエ変換は(自分が)わかっているようでわかってない。確かに数式は成り立つようだし、実際に世の中で役に立ってるんだから間違いないのだけど、実感できないものの一つだと思います。
OpenCVのサンプルを見ていたら面白いものがあったので、自分でコンパイルして試してみました。
1.プログラムの作成
・・・といっても、サンプルのコードをコピペしてきて、fourier.c として保存しただけです。
2.コンパイル
先のサンプルのコンパイルと同じです。
$ g++ -o fourier fourier.cpp `pkg-config --cflags opencv` `pkg-config --libs opencv`
3.実行
適当な画像ファイルを準備して、
$ ./fourier ファイル名.jpg
とすると、ウインドウが3つ開いて、モノクロ化した元画像、対数パワースペクトル、逆変換画像(最初は真っ黒)が表示されます。パワースペクトルを左クリックすると、選択したパワースペクトルの部分が黒に変わり、そこのみが逆変換されます。(画像はこちらから無料のものを借用しました)
という感じで、だんだん復元されて行くのがわかって面白いです。