IIRフィルタと画像
作ったフィルタを画像にかけてみます。
元画像
これを素材にします。
よく見るといろいろ写っていますがあまり気にしない。
1次元データなので赤青緑の成分に分けて
その後3枚の絵を重ねます。
赤
青
緑
一見すると単色化して色を付けただけのように見えます。
たぶんあっているはず。
フィルタをかけてみる
最初から縦横でかけると結果がわかりにくいので
写真を1行ごとに分けて左から右へ(→方向)でかけてみます。
LPF
まずは低域通過フィルタ
Fsは1としました。
グラフを書くプログラムが適当なせいで0.5より高い周波数までグラフがありますが
これもFsの半分から上は意味がありません。
F0=0.01 Qは0.7です。
f=0.01のときー3dBなので波長が100ピクセルの部分は約0.7倍
F=0.1のときー40dBなので波長が10ピクセルの部分はレベルが1/100になる
と解釈できる・・・ような気がします。
何はともあれ結果はこんな感じ
予想通りぼかしフィルタになります。
これは直感的にわかりやすい。
左がグレーっぽくなっているのは各行でフィルタを初期化しているので
中間値(256/2=128)の初期値から左端の色に向かって変わっていくからです。
ぱっと見てわかる問題点は位相がずれていること。
左右対称じゃないので画像が右にシフトしています。
HPF
直感的にわかりにくいけど理想的には漫画みたいに
線画に変換できると良いなという感じ。
こちらはf0=0.1としました。Qは0.7
これもf=0.1のときー40dBなので波長が10の部分は1/100になるはずです。
結果はこんな感じ。
中間値が灰色なので直流成分は灰色になります。
ちょっと見にくい。
色が極端に変わるところはエッジ検出されて線になっています。
実際は振幅が2倍になるので0-255の範囲を超えますが
切り上げ切捨てで中に入れています。
うまくやれば写真から絵のようなものに変換できそう。
が、今まで試した感じだとそんなにうまくはいきません。
音声でやらなかったのは見て楽しいのとわかりやすいからです。
マイク入力をFFTするとこれも面白いので
グラフがきれいに書けたら乗せようと思います。
そろそろ会社に行く準備をしないと。