OpenCVの2次元フーリエ変換サンプルを動かしてみた

フーリエ変換は(自分が)わかっているようでわかってない。確かに数式は成り立つようだし、実際に世の中で役に立ってるんだから間違いないのだけど、実感できないものの一つだと思います。
OpenCVのサンプルを見ていたら面白いものがあったので、自分でコンパイルして試してみました。

1.プログラムの作成

・・・といっても、サンプルのコードをコピペしてきて、fourier.c として保存しただけです。

2.コンパイル

先のサンプルのコンパイルと同じです。

$ g++ -o fourier fourier.cpp `pkg-config --cflags opencv` `pkg-config --libs opencv`

3.実行

適当な画像ファイルを準備して、

$ ./fourier ファイル名.jpg

とすると、ウインドウが3つ開いて、モノクロ化した元画像、対数パワースペクトル、逆変換画像(最初は真っ黒)が表示されます。パワースペクトルを左クリックすると、選択したパワースペクトルの部分が黒に変わり、そこのみが逆変換されます。(画像はこちらから無料のものを借用しました)

という感じで、だんだん復元されて行くのがわかって面白いです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)