エッジの検出 画像中に表示された物理の輪郭(エッジ(edge))や線では、一般的に濃淡が急激に変化しており、これらは画像中のなんらかの構造を反映していることが多い このようなエッジや線の検出処理は、画像理解や認識のための前処理として重要である 差分型によるエッジ検出 零交差法によるエッジ検出 テンプレート型エッジ検出オペレータ
画像例1
画像例1の明るさマップ
画像例2
画像例2の明るさマップ
差分 Roberts Prewitt・Sobel 差分法によるエッジ検出 差分 Roberts Prewitt・Sobel
差分 ・エッジ部分においては、一般的に濃度が急激に変化しているため、「鮮鋭化」でも述べた差分によりエッジを検出できる ・エッジ部分においては、一般的に濃度が急激に変化しているため、「鮮鋭化」でも述べた差分によりエッジを検出できる ・すなわち、濃度値の変化を持つ画像に対して1次微分を行えば、エッジ部分は取り出される ・水平方向(x方向)および垂直方向(y方向)の一次微分は下の式により計算される:
画像の微分
差分(続く) これらの重み係数を取り出せば、オペレータは下の(a)、(b)のようになる -1 1 -1 -1 1 -1 1 (a) x方向の差分 (b) y方向の差分 微分の強度(すなわちエッジの強度)は次式で定義される (3-1) 濃度の変化が最大となる向きは次式で求める
Roberts 斜め方向の差分オペレータも下の(a)、(b)のように考えられ、これをRobertsのエッジ検出オペレータという 0 1 1 0 -1 0 0 -1 (a) 右上―左下方向の差分 (b) 左上―右下方向の差分 微分の大きさは次式となる
Prewitt・Sobel 以上のように隣り合う画素同士の微分を行う場合、その差分値は実際には二つの画素の中間の位置(例えば の場合、実際 は)における差分値を求めていることになる。そこで、3*3のフィルタ 0 0 0 0 -1 0 -1 0 1 0 0 0 0 0 0 0 1 0 (a) x方向の差分 (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)の原画像に対して、上記 のそれぞれのエッジ検出オペレ ータによる処理を行った例 (ただしエッジの強度)を同図 (b)~(e)に示す ・1方向のオペレータ出力による 処理結果の濃度値に適当な定 数を加えると、同図(f)のように 斜めから光を当てたような効果 (浮き彫り効果)が得られる ・これはエンボス(Emboss) 効果と呼ばれ、フォトレタッチな どのグラフィックスソフトでよく 用いられる
零交差法によるエッジ検出 ・強調処理で述べた2次微分(ラプラシアン)を用いてエッジを検出する方法もよく用いられる ・2次微分を行うと、図のようにエッジの下端と上端でそれぞれ正と負のピークを生じる
ラプラシアンフィルタ(Laplacian Filter) 原画像の2次微分であるラプラシアンフィルタによる結果
零交差法によるエッジ検出 ・正から負へとピークが変化する途中で出力が0となる位置をエッジの中央位置として検出できる ・これを零交差(Zero-Crossing)法という
テンプレート型エッジ検出オペレータ ・微分操作を行わずにエッジを検出する方法に、テンプレートマッチングの考え方を用いてエッジを検出するテンプレート型エッジ検出オペレータがある ・これは理想的なエッジパターンを想定し、画像の局所領域内の濃淡パターンに最も良く合致するようにパラメータを求める方法です ・Kirschオペレータはエッジの方向別にテンプレートが用意されている ・エッジの検出においては、画像とそれぞれのテンプレートとの積和演算を行い、最大値が得られたテンプレートの方向をエッジの濃度が変化する方向とし、その出力値をエッジの強度とする
Kirschオペレータ 5 5 5 5 5 -3 5 -3 -3 -3 -3 -3 -3 0 -3 5 0 -3 5 0 -3 5 0 -3 5 5 5 5 5 -3 5 -3 -3 -3 -3 -3 -3 0 -3 5 0 -3 5 0 -3 5 0 -3 -3 -3 -3 -3 -3 -3 5 -3 -3 5 5 -3 (a) 上方向 (b) 左上方向 (c) 左方向 (d) 左下方向 -3 -3 -3 -3 -3 -3 -3 -3 -5 -3 5 5 -3 0 -3 -3 0 5 -3 0 5 -3 0 5 5 5 5 -3 5 5 -3 -3 5 -3 -3 -3 (a) 下方向 (b) 右下方向 (c) 右方向 (d) 右上方向