デジタルメディア処理 1 017( 後期 ) 09/6 イントロダクション1 : デジタル画像とは, 量 化と標本化,Dynamic Range 10/03 イントロダクション : デジタルカメラ, 間の視覚, 表 系 10/10 フィルタ処理 1 : トーンカーブ, 線形フィルタ デジタルメディア処理 1 担当 : 井尻敬 10/17 フィルタ処理 : 線形フィルタ, ハーフトーニング 10/4 フィルタ処理 3 : 離散と周波数フィルタリング 11/07 前半のまとめと中間試験 11/14 画像処理演習 : python ( 演習室 ) 11/1 画像処理演習 : フィルタ処理 ( 演習室 ) 11/8 画像処理演習 : フィルタ処理 ( 演習室 ) 1/05 画像処理演習 : フィルタ処理 ( 演習室 ) 1/1 画像の幾何変換 1 : アファイン変換 1/19 画像の幾何変換 : 画像の補間 01/16 画像復元 : ConvolutionとDe-convolution( 変更する可能性有り ) 01/3 後半のまとめと期末試験 Contents とは ( ) FourierSound.py 達成 標 フーリエ級数展開の概要を説明できる 離散を計算できる 周波数フィルタ処理の計算法と効果を説明できる Contents の概要 フーリエ級数展開 オイラーの式と複素数表現 離散 周波数フィルタリング 横軸が時間の関数を 横軸が周波数の関数に変換する 法 声 注 ) グラフ縦軸は 圧 時間 逆 周波数 周波 低周波 周波 周波数 注 ) グラフ横軸は係数番号 (Hz ではない ) グラフ縦軸は係数の実部
とは ( ) 周波数 ( 係数番号 ) FourierSound.py 後の関数は元信号に含まれる正弦波の量を す 中央に近いほど低周波, 外ほどが 周波 中央 ( 最も低周波 ) は, 定数項で直流成分と呼ばれる 直流成分があるので正弦波の組み合わせでも平均値が0でない信号を作れる の実時間 データ量に依存するが 1D/D のは 速なので実時間解析可能 Spector Analyzer by Hidetomo Kataoka @ 命館 下の波はイメージ 本来はもっともっと細かいです 時間 時間 時間 時間 とは ( 画像 ) とは ( 画像 ) 横軸が時間 / 空間の関数を 横軸が周波数の関数に変換する 法 画像 (D 空間に画素が並ぶ ) 逆 周波数画像 ( 画素は特定周波数の きさを す ) 後の画像の画素は元信号に含まれる正弦波の量を す 中央付近が低周波, 外側が 周波 中央画素は, 定数項 ( 直流成分 ) 任意の画像はしましま画像の和で表現できる この図はイメージです本来は現画像と同サイズでもっと細かいです
とは ( 画像 ) FourierPaint.py FourierImg.py 余談 ( ノイズ ) ノイズ ( 雑 ) には, それが含む周波数の分布に応じて特定の名前が付いたものがある ホワイトノイズスペクトルが 様に分布 ピンクノイズスペクトル分布が 1/f に 例 ブラウンノイズスペクトル分布が 1/f に 例 周波数フィルタリング ( ) FourieSound.py 周波数フィルタリング ( ) 信号 ( ) 出 信号 逆 により周波数を考慮した filter が設計できる 1. し. 周波数空間でフィルタを掛け 3. 逆 イコライザ周波数ごとにボリュームを調整する 質調整器 1. 源をし. 周波数ごとにフィルタを掛け 3. 逆 フィルタ処理 ゼロ ゼロ 周波数係数 周波成分を完全にゼロに Itunes のイコライザ
周波数フィルタリング ( 画像 ) 周波数フィルタリング ( 画像 ) Low Pass 低周波成分のみ通過 逆フーリエ フィルタ フィルタ処理フィルタ画像を掛ける 逆 説明のため Lowpass の半径を きく可視化本当はもっと さい 画像 周波数画像 High Pass 周波成分のみ通過 Band Pass 特定周波成分のみ通過 フィルタ フィルタ処理済周波数画像 逆フーリエ 逆フーリエ 出 画像 まとめ : 画像のの概要 は, 横軸時間の関数を横軸周波数の関数に変換する 逆も定義される 次元は画像へ適 できる 周波数空間でフィルタ処理すると, 周波数に特化した信号処理が可能 フーリエ級数展開 ( の簡単な説明 ) 注意 ) 本講義では, の意味的な理解と画像処理応 に重点を置きます. 証明と導出 n の詳細は, 信号処理の講義をとるか 健 : これなら分かる応 数学教室 を参照してください.
練習三 関数を合成せよ sincos 三 関数 n と m を 負整数として以下を計算せよ / / / / / / sin cos sin sin cos cos まあこれはいいですよね 三 関数 三 関数 T を周期, を基本 ( ) 周波数と呼びます [-T/,T/] でひと周期の波を取得できました 三 関数の引数を 倍すると, 周波数が 倍に 周期が 1/ 倍になります
三 関数 cos 0 sin 0 こんな感じで基本周波数の整数倍の波を考える cos 1 sin 1 cos sin cos 3 sin 3 三 関数の引数を 3 倍すると, 周波数が 3 倍に 周期が 1/3 倍になります cos 4 cos 5 sin 4 sin 5 0.3 cos 0 0sin0 こんな感じで基本周波数の整数倍の波を考える 0.3 cos 0 0. cos 1 0.7 cos 0.1 cos 3 0.1 cos 4 0.1 cos 5 0.0 sin 0 0.3 sin 1 0.1 sin 0.3sin 3 0.1sin 4 0. sin 5 0. cos 1 0.3 sin 1 それぞれを定数倍する ( 今回はランダムに ) 0.7 cos 0.1 sin で それを全部 し合わせてみる 和 0.1 cos 3 0.3sin 3 0.1 cos 4 0.1sin 4 0.1 cos 5 0. sin 5
フーリエ級数展開のとても簡単な説明 (1)[-T/,T/] の周期関数は, 周期はT/k (kは正整数) の三 関数の重ね合わせに分解できる () 合成後の周期関数を受け取ると, この合成後の波から合成前の各関数の係数を推定できる 0.3 cos 0 0. cos 1 0.7 cos 0.1 cos 3 0.1 cos 4 0.1 cos 5 0.0 sin 0 0.3 sin 1 0.1 sin 0.3 sin 3 0.1 sin 4 0. sin 5 この元信号の中には,cos の成分が 0.7 だけ含まれている というのが分かる フーリエ級数展開のとても簡単な説明 () 合成後の周期関数 を受け取ると, この合成後の波から合成前の各関数の係数を推定する どうやって?? 例 cos の係数を知りたい場合 1) にcos を掛けた関数を作る cos ) 係数もかける cos 3) これを周期分だけ積分すると係数が得られる 係数 cos フーリエ級数 フーリエ級数 区間, 上の連続関数 は フーリエ級数で表現できる. cos sin cos sin : 基本周波数 天下り的な説明で済みません. ここではそういう事実があると知っておいてください. 詳細な導出と証明は, 信号処理の講義, または, これなら分かる応 数学教室 ( 健 著 ) を参照 区間, 上の連続関数 は フーリエ級数で表現できる. cos 1 sin 1 cos sin cos 3 sin 3 基本周波数 cos 1 sin cos sin 3 cos 3 sin 1
Contents の概要 フーリエ級数展開 オイラーの式と複素数表現 離散 周波数フィルタリング オイラーの式 はガウス平 における単位円に乗る これはもうこういう表記法だと思って覚えてください 練習 ) 複素数の積を求めよ c sin c sin フーリエ級数の複素数表現 区間, 上の連続関数 は フーリエ級数で表現できる. 以下の関係を証明せよ cos sin cos sin cos sin : 基本周波数 cos sin 1
練習 : 下の式 (1)-(5) より, 式 (6),(7) を導け cos sin 1 6 cos sin 3 1 7 cos 4 sin 5 まとめ : フーリエ級数展開 今回は導出と証明を省きました詳しく知りたい は教科書参照 Contents オイラーの式 cossin,, cos, sin フーリエ級数展開 : 周期 T を持つ関数は正弦波の重ね合せで表現可 cos sin, cos, sin の概要 フーリエ級数展開 オイラーの式と複素数表現 離散 周波数フィルタリング フーリエ級数展開 ( 複素数表現 ) : 上式にオイラーの式を代 すると以下のように変形できる,
とは FourierSound.py 離散 (1D) 横軸が時間の関数を 横軸が周波数の関数に変換する 法 声周波数 1 逆 f F 0 1 N 1 0 1 N 1 時間 逆 周波 低周波 周波 周波数 周期 Nの離散値 を周期 Nの離散値 に変換する と は複素数 ( ただし は実数列のことが多い ) が実数の場合 が成り つ ( ) 離散 (1D) 1 cos sin 逆 cos sin 離散の計算例 N = 8 のとき : f 0,f 1, f, f 3, f 4, f 5,f 6,f 7, 1 複素数とかでできてややこしそうだけどただの和分 0 1 N 1 0 1 N 1 1 8 1 8 1 8 cos 0 0 sin cos 0 0 sin cos 0 0 sin cos 0 0 sin cos 1 1 sin cos sin cos 0 0 sin cos 7 7 sin cos 14 sin 14 周期 Nの離散値 を周期 Nの離散値 に変換する と は複素数 ( ただし は実数列のことが多い ) が実数の場合 が成り つ ( ) 1 8 cos 0 0 sin cos 3 3 sin cos 1 sin 1
離散 (D) : 逆 : 1 W W 係数画像 31 30 16 WH 3のときの H H 縦横 向に周期 H/W で繰り返す離散値 を, 離散値 に変換 と は複素数列. ただし, は画像 ( 実数列 ) のことが多い, は定数 ( 直流成分 ) の係数, は, 画像区間において 縦にu 回 横に v 回振動する正弦波画像 の係数 U=v=N/がもっとも 周波で,u=N-1は u=1の正弦波と同じ周波数 ( 位相は逆 ) 1 0 0 1 16 30 31, は上の (u,v) 番 の画像の係数 実際は, は複素数画像 Shift の話 Contents 0 1 N 1 H W の概要 フーリエ級数展開 オイラーの式と複素数表現 離散 周波数フィルタリング 0 1 N 1 を実装すると, ピークが端に来る変換結果になる 上図緑四 : これは間違いじゃない 低周波成分を中 においたほうが分かりやすいので上図 四 の位置を出 することが多い この shift を なう関数が 意されていることも np.fft.ifftshift()
周波数フィルタリング ( ) 周波数フィルタリング ( 画像 ) 信号 ( ) 出 信号 フィルタ処理 ゼロ 逆 ゼロ により周波数を考慮した filter が設計できる 1. し. 周波数空間でフィルタを掛け 3. 逆 フィルタ 逆 周波数係数 周波成分を完全にゼロに さっきのスライドです! フィルタ処理フィルタ画像を掛ける 周波数フィルタリング ( 画像 ) まとめ : 離散と周波数フィルタ Low Pass 低周波成分のみ通過 逆フーリエ 離散 (1D/D) の実装 法を解説した 画像 High Pass 周波成分のみ通過 逆フーリエ 周波数画像 Band Pass 特定周波成分のみ通過 逆フーリエ 周波数空間でマスクを掛ける周波数フィルタを紹介した フィルタ フィルタ処理済周波数画像 出 画像