スケジュール 09/5 イントロダクション1 : デジタル画像とは, 量 化と標本化,Dynamic Range 10/0 イントロダクション : デジタルカメラ, 間の視覚, 表 系 10/09 画像処理演習 0 : python (PC 教室 : 課題締め切り 11/13 3:59) 10/16 フィルタ処理 1 : トーンカーブ, 線形フィルタ デジタルメディア処理 1 担当 : 井尻敬 10/3 フィルタ処理 : 線形フィルタ, ハーフトーニング 10/30 フィルタ処理 3 : 離散と周波数フィルタリング 11/13 画像処理演習 1 : フィルタ処理 (PC 教室 : 課題締め切り 1/08 3:59) 11/0 画像処理演習 : フィルタ処理 (PC 教室 : 課題締め切り 1/08 3:59) 1/7 画像処理演習 3 : フィルタ処理 (PC 教室 : 課題締め切り 1/08 3:59) 1/04 画像処理演習 4 : フィルタ処理 (PC 教室 : 課題締め切り 1/08 3:59) 1/11 画像の幾何変換 1 : アファイン変換と画像補間 1/18 ConvolutionとDe-convolution( 進度に合わせて変更する可能性有り ) 01/08 画像圧縮 ( 進度に合わせて変更する可能性有り ) 01/15 後半のまとめと期末試験 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 特定周波成分のみ通過 フィルタ フィルタ処理済周波数画像 逆フーリエ 逆フーリエ 出 画像 まとめ : 画像のの概要 は, 横軸時間の関数を横軸周波数の関数に変換する も定義される 次元は画像へ適 できる 周波数空間でフィルタ処理すると, 周波数に特化した信号処理が可能 フーリエ級数展開 ( の簡単な説明 ) 注意 ) 本講義では, の意味的な理解と画像処理応 に重点を置きます. 証明と導出の詳細は, 信号処理の講義をとるか 健 : これなら分かる応 数学教室 を参照してください.
練習三 関数を合成せよ 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 区間, 上の連続関数 は フーリエ級数で表現できる. sin 1 sin sin 3 の概要 フーリエ級数展開 オイラーの式と複素数表現 離散 周波数フィルタリング sin と cos の振幅を変えて す とも思えるが a k と b k で振幅と位相ずれを制御する とも てもよい 位相がずれても と における位置は同じなので 周期性は保たれていることに注意 オイラーの式 練習 ) 複素数の積を求めよ c sin c sin 以下の関係を証明せよ はガウス平 における単位円に乗る これはもうこういう表記法だと思って覚えてください cos sin
フーリエ級数の複素数表現 練習 : 下の式 (1)-(5) より, 式 (6),(7) を導け 区間, 上の連続関数 は フーリエ級数で表現できる. cos sin cos sin cos sin 1 cos sin cos sin cos sin 1 3 4 5 1 6 7 : 基本周波数 まとめ : フーリエ級数展開 今回は導出と証明を省きました詳しく知りたい は教科書参照 オイラーの式 cossin,, cos, sin フーリエ級数展開 : 周期 T を持つ関数は正弦波の重ね合せで表現可 cos sin, cos, sin フーリエ級数展開 ( 複素数表現 ) : 上式にオイラーの式を代 すると以下のように変形できる,
Contents の概要 フーリエ級数展開 オイラーの式と複素数表現 離散 周波数フィルタリング とは 横軸が時間の関数を 横軸が周波数の関数に変換する 法 声 f 周波数 FourierSound.py F 周波 低周波 周波 時間 周波数 離散 (1D) 離散 (1D) 1 1 cos sin cos sin 0 1 N 1 0 1 N 1 0 1 N 1 0 1 N 1 周期 Nの離散値 を周期 Nの離散値 に変換する と は複素数 ( ただし は実数列のことが多い ) が実数の場合 が成り つ ( ) 周期 Nの離散値 を周期 Nの離散値 に変換する と は複素数 ( ただし は実数列のことが多い ) が実数の場合 が成り つ ( )
離散の計算例 N = 8 のとき : f 0,f 1, f, f 3, f 4, f 5,f 6,f 7, 1 8 1 8 1 8 1 8 cos 0 0 sin cos 0 0 sin cos 0 0 sin cos 0 0 sin cos 0 0 sin cos 1 1 sin cos sin cos 3 3 sin cos 0 0 sin cos 7 7 sin cos 14 cos 1 sin 14 sin 1 1 複素数とかでできてややこしそうだけどただの和分 H 離散 (D) : : 1 W H W 縦横 向に周期 H/W で繰り返す離散値 を, 離散値 に変換 と は複素数列. ただし, は画像 ( 実数列 ) のことが多い WH 3のときの Shift の話 W 係数画像, は定数 ( 直流成分 ) の係数, は, 画像区間において 縦にu 回 横に v 回振動する正弦波画像 の係数 U=v=N/がもっとも 周波で,u=N-1は u=1の正弦波と同じ周波数 ( 位相は逆 ) 31 30 16 1 0 0 1 16 30 31, は上の (u,v) 番 の画像の係数実際は, は複素数画像 0 1 N 1 0 1 N 1 H を実装すると, ピークが端に来る変換結果になる 上図緑四 : これは間違いじゃない 低周波成分を中 においたほうが分かりやすいので上図 四 の位置を出 することが多い この shift を なう関数が 意されていることも np.fft.ifftshift()
Contents 周波数フィルタリング ( ) の概要 フーリエ級数展開 オイラーの式と複素数表現 離散 周波数フィルタリング 信号 ( ) 出 信号 により周波数を考慮した filter が設計できる 1. し. 周波数空間でフィルタを掛け 3. フィルタ処理 ゼロ ゼロ 周波数係数 周波成分を完全にゼロに さっきのスライドです! 周波数フィルタリング ( 画像 ) 周波数フィルタリング ( 画像 ) Low Pass 低周波成分のみ通過 逆フーリエ フィルタ フィルタ処理フィルタ画像を掛ける 画像 周波数画像 High Pass 周波成分のみ通過 Band Pass 特定周波成分のみ通過 フィルタ フィルタ処理済周波数画像 逆フーリエ 逆フーリエ 出 画像
まとめ : 離散と周波数フィルタ 離散 (1D/D) の実装 法を解説した 周波数空間でマスクを掛ける周波数フィルタを紹介した