1次微分(差分)によるエッジ検出

 画像処理では、いろいろな目的のために画像の中のある領域の境界(エッジ)を検出したいことがあります。
 領域の境界では、画素の輝度値の変化が大きいため、画素値の変化に対して微分演算を行えば、エッジの検出を行うことができます。ただし、ディジタル化された画像に対する計算機による処理では、微分演算の代わりに差分演算を行うことによってこれを行うことが可能です。

 ただし、通常の差分演算を行うと、画面に含まれる雑音成分にも反応してしまうため、雑音の低減とノイズの除去の両方の働きを持つフィルタがいくつか提案されています。ここでは、その中からSobel(ゾーベル)フィルタ、Prewitt(プレヴィット)フィルタの二つを紹介します。

 Sobelフィルタは、ある注目画素を中心とした上下左右の9つの画素値に対して、以下に示すような係数をそれぞれ乗算し、結果を合計します。垂直方向、水平方向の二つの係数行列を用いてこの処理を行います。

-101
-202
-101
-1-2-1
000
121
水平方向 gHS 垂直方向 gVS

で示した中央の係数が注目画素の部分になります。

 水平方向の合計値を gHS、垂直方向の合計値を gVS としたとき、注目画素の画素値は以下の式で求められます。
 g = ( gHS2 + gVS2 )1/2

 Prewittフィルタも同様に、ある注目画素を中心とした上下左右の9つの画素値に対して、以下に示すような係数をそれぞれ乗算し、結果を合計します。垂直方向、水平方向の二つの係数行列を用いてこの処理を行います。

-101
-101
-101
-1-1-1
000
111
水平方向 gHS 垂直方向 gVS

で示した中央の係数が注目画素の部分になります。

 水平方向の合計値を gHS、垂直方向の合計値を gVS としたとき、注目画素の画素値は以下の式で求められます。
 g = ( gHS2 + gVS2 )1/2

 標準画像 lenna の輝度成分画像に対して、それぞれのフィルタ処理を行った画像を以下に示します。

元の画像

Sobelフィルタ処理した画像

Prewittフィルタ処理した画像

その他のカラー標準画像の輝度成分画像に対するフィルタ処理例

その他のグレイスケール標準画像に対するフィルタ処理例

もどる


katahira@med.akita-u.ac.jp