エッジの検出

Download Report

Transcript エッジの検出

エッジの検出
画像中に表示された物理の輪郭(エッジ(edge))
や線では、一般的に濃淡が急激に変化しており、
これらは画像中のなんらかの構造を反映してい
ることが多い
このようなエッジや線の検出処理は、画像理解
や認識のための前処理として重要である
差分型によるエッジ検出
零交差法によるエッジ検出
テンプレート型エッジ検出オペレータ
画像例1
画像例1の明るさマップ
画像例2
画像例2の明るさマップ
差分型によるエッジ検出
差分
Roberts
Prewitt・Sobel
差分
・エッジ部分においては、一般的に濃度が急激に
変化しているため、「鮮鋭化」でも述べた差分によ
りエッジを検出できる
・すなわち、濃度値の変化を持つ画像に対して1次
微分を行えば、エッジ部分は取り出される
・水平方向(x方向)および垂直方向(y方向)の一
次微分は下の式により計算される:
f x (i, j)  f (i  1, j)  f (i, j)
f y (i, j)  f (i, j  1)  f (i, j)
画像の微分
明るさ
元画像
少しずらした元画像
両者の差
X
差分(続く)
これらの重み係数を取り出せば、オペレータは下
の(a)、(b)のようになる
-1 1
-1
1
(b) y方向の差分
(a) x方向の差分
微分の強度(すなわちエッジの強度)は次式で定
義される
f (i, j)  f x2 (i, j)  f y2 (i, j) (3-1)
濃度の変化が最大となる向きは次式で求める
  tan
1
fy
fx
Roberts
斜め方向の差分オペレータも下の(a)、(b)のように考
えられ、これをRobertsのエッジ検出オペレータという
0 1
1 0
-1 0
0 -1
(a) 右上―左下方向の差分
(b) 左上―右下方向の差分
微分の大きさは次式となる
g (i, j)  { f (i, j)  f (i  1, j  1)}2  { f (i  1, j)  f (i, j  1)}2
f x (i, j )
Prewitt・Sobel
以上のように隣り合う画素同士の微分を行う場合、そ
の差分値は実際には二つの画素の中間の位置(例え
ば f (i, j) の場合、実際 f x (i  0.5, j) は)における差分値を
求めていることになる。そこで、3*3のフィルタ
x
0 0 0
-1 0 1
0 0 0
(a) x方向の差分
0 -1 0
0 0 0
0 1 0
(b) y方向の差分
を用いて、注目画素の両側の濃淡値の差分を行うよう
にすれば、差分値は注目画素の位置と一致する
この方法は離れた画素間の差分を求めることになる
ため、ノイズの影響が小さくなるという利点もある
上記に対して差分を取る画素を増やし、さらに平滑
化の効果を高めたフィルタとして、
Prewittのエッジ検出オペレータ
-1 0 1
-1 -1 -1
-1 0 1
0 0 0
-1 0 1
1 1 1
(a) x方向の差分
(b) y方向の差分
Sobelのエッジ検出オペレータ
-1 0 1
-1 -2 -1
-2 0 2
0 0 0
-1 0 1
1 2 1
(a) x方向の差分
(b) y方向の差分
が提案されている
各種フィルタによる処理例
・図(a)の原画像に対して、上記
のそれぞれのエッジ検出オペレ
ータによる処理を行った例
(ただしエッジの強度)を同図
(b)~(e)に示す
・1方向のオペレータ出力による
処理結果の濃度値に適当な定
数を加えると、同図(f)のように
斜めから光を当てたような効果
(浮き彫り効果)が得られる
・これはエンボス(Emboss)
効果と呼ばれ、フォトレタッチな
どのグラフィックスソフトでよく
用いられる
零交差法によるエッジ検出
・強調処理で述べた2次微分(ラプラシアン)を用い
てエッジを検出する方法もよく用いられる
・2次微分を行うと、図のようにエッジの下端と上端
でそれぞれ正と負のピークを生じる
ラプラシアンフィルタ(Laplacian Filter)
原画像の2次微分であるラプラシアンフィルタによる結果
零交差法によるエッジ検出
・正から負へとピークが変化する途中で出力が0と
なる位置をエッジの中央位置として検出できる
・これを零交差(Zero-Crossing)法という
テンプレート型エッジ検出オペレータ
・微分操作を行わずにエッジを検出する方法に、テン
プレートマッチングの考え方を用いてエッジを検出す
るテンプレート型エッジ検出オペレータがある
・これは理想的なエッジパターンを想定し、画像の局
所領域内の濃淡パターンに最も良く合致するように
パラメータを求める方法です
・Kirschオペレータはエッジの方向別にテンプレートが
用意されている
・エッジの検出においては、画像とそれぞれのテンプ
レートとの積和演算を行い、最大値が得られたテンプ
レートの方向をエッジの濃度が変化する方向とし、そ
の出力値をエッジの強度とする
Kirschオペレータ
5 5 5
-3 0 -3
-3 0 -3
(a) 上方向
-3 -3 -3
-3 0 -3
5 5 5
(a) 下方向
5 5 -3
5 0 -3
-3 -3 -3
5 -3 -3
5 0 -3
5 -3 -3
-3 -3 -3
5 0 -3
5 5 -3
(b) 左上方向
(c) 左方向
(d) 左下方向
-3 -3 -3
-3 0 5
-3 5 5
-3 -3 -5
-3 0 5
-3 -3 5
-3 5 5
-3 0 5
-3 -3 -3
(b) 右下方向
(c) 右方向
(d) 右上方向
参考書リスト
藤岡 弘、中前幸治:「画像処理の基礎」、
昭晃堂、2002
末松良一、山田宏尚:「画像処理工学」、
コロナ、2000
鮮明化した画像例1
画像例1のエッジマップ
画像例1から抽出した輪郭線
二値化
輪郭線
領域
エッジ画像の細線化,2値化
エッジ画像
方法1:
2値化してから細線化を行う.
2値化したエッジ画像
2値画像の細線化
連結性を失わずに,領域の輪郭線の画素を削ることにより,領域を細くする.
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
1
1
1
0 0 0
0 0 0
1 0 0
1 0 0
1 1 0
1 1 1
0 1 1 1
0 1 1 1
0 0 0 0
0
0
0
0
1
1
1
1
0
0 0 0 0
1 1 1 0
1 1 1 0
1 1 1 0
1 1 1 0
1 1 0 0
1 0 0 0
0 0 0 0
0 0 0 0
=境界線上の画素
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 0 0
0 0 0
0 0 0
1 0 0
1 1 0
0 1 1
0 0 1
0 0 0
0 0 0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0 0
細くなった領域
0 0 0
0 0 0
1 0 0
1 0 0
1 0 0
0 0 0
0 0 0
0 0 0 0
0 0 0 0
0
0
0
0
1
1
0
2. 2値化・細線化を同時に行う方法
エッジ画像の局所的な最大値(極値)を持つ画像を探し出し,それら
を境界線の画素とする方法.