画像処理・実習 第一回:

画像処理・実習
第五回: 空間フィルタ(特徴抽出,ラプラシアン,鮮鋭化)
東海大学
情報理工学部情報メディア学科
濱本和彦
今回の内容
3. 空間フィルタ

3.3 特徴抽出フィルタ-画像の一次微分


3.4 ラプラシアン-画像の二次微分


線検出
Laplacianフィルタ
3.5 鮮鋭化
実習
演習3.4
表3.5の代わりに,square10.rawを利用し
ます。
PrewittフィルタとSobelフィルタをかけて,
その結果を比較しなさい。
演習3.4結果
square10.raw
Prewitt
Sobel
最大濃度 120
最大濃度 160
特徴抽出フィルタ
一次微分フィルタ:線検出フィルタ
縦線検出 -1 1 -1
-1 1 -1
-1 1 -1
横線検出
-1 -1 -1
1 1 1
-1 -1 -1
線幅1の縦線,または
横線の検出が可能
検出したい形状に合
わせて1,-1を配置す
ることにより任意の形
状の検出が可能
-1をすべて-1/2で置き
換えると,エッジ検出
も可能
線検出,演習3.5, 演習3.6
表3.4の線検出オペレータで,線幅1の線が検出可能である
理由を考えましょう。
-1を-1/2にすることでエッジが検出できる理由を考えましょう。
関数Longitudinal_line(), Lateral_line()を使い,grid.rawま
たはsquare.rawを入力画像としたときの出力画像を示し,
線幅1の線のみが検出できることを確認してください。
関数Oblique_line()を使い,線幅1の斜線が検出できること
を確認してください。
関数Longitudinal_edge(), Lateral_edge()を使い,同様な
実験を行い,エッジが検出できること,線幅1の線の検出は
出来ないことを確認してください。
線検出フィルタ
線幅1の線が検出できる理由
幅1の線の時のみ,フィルタ
出力が正になればよい。
-1 1 -1
-1 1 -1
-1 1 -1
フィルタ出力は3
フィルタ出力は0
幅1の領域のみ正の係数とし
(+1とする),他を負の係数とする。
幅2の線の場合に出力を0以下に
するためには,幅1の領域の係数
を相殺する係数を設定する。
-1より小さい係数を設定すれば
良い。
幅3の場合は,明らかにフィルタ
出力は負となる。
線検出フィルタ
エッジが検出できる理由
エッジを検出するためには,幅2の線の
場合に出力を正にする必要がある。
-1/2
1
-1/2
-1/2
1
-1/2
-1/2
1
-1/2
フィルタ出力は0以下
フィルタ出力は正
相殺されるように設定した負の係数を大
きくし,出力が正になるようにする。
しかし,幅3の場合には出力は0以下で
なければならない。
幅3の場合にはフィルタ出力が0以下に
なるようにフィルタ係数を設定する。
-1より大きく,-1/2以下の間で設定すれ
ば良い。
例えばこんな結果になります
grid.raw
Longitudinal_line( )
square.raw
ラプラシアン
Laplacian : 画像の二次微分
x方向の二次微分
 2 f [ y][x]   
 
 
f [ y][x]   f [ y][x  1]  f [ y][x]
2
x
x  x
 x
・二次微分は,微分値同士の差分
・対称性を考慮し,x-1とxにおける微分値と差分を取る
  f [ y][x  1]  f [ y][x]   f [ y][x]  f [ y][x  1]
 f [ y][x  1]  f [ y][x  1]  2 f [ y][x]
ラプラシアン
Laplacian : 画像の二次微分
y方向の二次微分
 2 f [ y][x]
 f [ y  1][x]  f [ y  1][x]  2 f [ y][x]
2
y
Laplacian
2
2

f

f
2 f  2  2
x
y
 f [ y][x  1]  f [ y][x  1]  f [ y  1][x]  f [ y  1][x]  4 f [ y][x]
特徴抽出フィルタ
二次微分フィルタ:Laplacian
0
1
0
1
-4
1
0
1
0
濃度の変化が緩やか
な所でも,その変化の
割合が大きく変化す
る場所であれば抽出
される。
濃度の変化が急激で
も,その変化の割合
があまり変化しない場
所は抽出されない
実習
void Laplacian(void)を実行し,その結果
をPrewittフィルタの出力と比較検討しなさ
い。
Lapalacianの結果は負になる場合もある
ので,絶対値処理しています。
結果
Prewitt
変化の割合は大きいが,
Laplacian
変化の割合がなだらかに
変化するため値は小さい
結果
Prewitt
濃淡の差(変化の割合)は
小さいが,
Laplacian
変化の割合が急峻に
変化するため情報が残る
要するに,こういうこと
画像の濃度変化
一次微分
二次微分
Laplacian,もう一つの特徴
二重線になっている
拡大図
エッジの形状と微分結果
ステップ型エッジ
ルーフ型エッジ
濃淡の変化
一次微分
絶対値を
取る事で
二重になる
ゼロクロス検出
Laplacian
演習3.7
回答は,次の通り。
0,
ルーフ型エッジ
に対する結果
(前ページスライド
と比較のこと)
5,
5,
10,
10,
5,
0,
-5, -15, -15,
-5,
5,
5,
0,
-5, -5,
0,
5,
5,
0,
-5, -5,
0,
5,
-5, -15, -15,
-5,
5,
5,
0,
5,
0,
5,
10,
10,
鮮鋭化
元の画像からラプラシアンを引き算することによ
りエッジが強調される。
f [ y ][x]   2 f [ y ][x]
 5 f [ y ][x]
元の画像
 f [ y ][x  1]
 f [ y ][x  1]
ラプラシアン
 f [ y  1][x]
引き算の結果
オーバーシュート
 f [ y  1][x]
アンダーシュート
プラスを引き算=引き算
マイナスを引き算=足し算
振幅差が強調される
実習
void Edge_enhancement(void)を完成さ
せ,lena.rawに関して鮮鋭化を実行しなさ
い。
結果
元の画像
鮮鋭化結果
演習3.8
回答は,次の通り。
アンダーシュート
0,
-5,
0,
-5, 10, 25, 25, 10,
-5,
-5,
5,
15,
15,
5,
-5,
-5,
5,
15,
15,
5,
-5,
-5, 10, 25, 25, 10,
-5,
0,
-5, -10, -10,
-5, -10, -10, -5,
0,
オーバーシュート
中間テストについて
5/28,3限目は自習(質問の時間,16-403にて),4限目
にテストを行います。
場所:6B-101 座席はこちらで指示します。
時間:60分(15:10-16:10)
範囲はp.1-p.36(ただしプログラムリストは省く)
プログラムを書かせる問題は無し
教科書にない内容についても出題しない
内容と配点



教科書の類似問題(教科書本文の穴埋めと演習問題から出題)
50点分(穴埋めは選択肢無し,太字のキーワードを中心に)
教科書を理解していれば解ける問題
30点分
深く考えさせる問題
20点分