まるもの雑記

なにか作ったりとかゲームとか。

二次元FFTとフィルタリング

二次元FFTは画像を画素の行列にして

縦にFFTしたあとに横にFFTすればいい。

戻す場合は横に逆FFTしてから縦に逆FFT

これで元にもどりそうだということは前回できたので

周波数軸で操作して遊んでみます。

 

元画像

例によってこれ。

f:id:marumorix:20140209211452j:plain

 

 

LPF

中心付近が高周波なのでまずは高域を削除して低域通過フィルタをかけてみます

高周波がいなくなるのでぼかしフィルタみたいになる予定。

FFT後の状態でこうすると

f:id:marumorix:20140209211613j:plain

こうなる

f:id:marumorix:20140209211728j:plain

いまいちわかりにくいので

もうちょっとやってみる。

 

こうすると

f:id:marumorix:20140209211742j:plain

こうなる

f:id:marumorix:20140209211823j:plain

だいぶぼやけてきたのがわかります。

そしてこうすると

f:id:marumorix:20140209211846j:plain

こうなる

f:id:marumorix:20140209211855j:plain

ほとんどの情報がないにもかかわらず

意外と原型を保っています。

BMPjpegにしたときになんであんなに小さくなるのが

知識としては知っていたものの今回ちょっと実感した感じ。

 

HPF

今度は低域を消して高域通過フィルタにしてみます。

 

こうすると

f:id:marumorix:20140209212107j:plain

こうなる

f:id:marumorix:20140209212130j:plain

ぼんやり見えるけどほぼ何も見えません。

 

もうちょっとやってみます。

こうすると

f:id:marumorix:20140209212154j:plain

こうなる

f:id:marumorix:20140209212222j:plain

なんとなく見えてきました。

 

もう一回

f:id:marumorix:20140209212250j:plain

これはこうなる

f:id:marumorix:20140209212307j:plain

 

なんかちょっと違う気がする。

IIRフィルタでエッジ検出したときは

正負が逆転したところをエッジとしていましたが

これももしかしてそうした方がいいのかもしれない。

 

納得いかないが結果は結果。

バグかもしれない。