エッジ抽出(Sobel,Prewittなど)

シェアする

  • このエントリーをはてなブックマークに追加

下図のように画像の輪郭(エッジ)を抽出する方法を紹介します。

エッジ抽出前 エッジ抽出後
エッジ抽出前 エッジ抽出後

上図はソーベルフィルタの例です。

微分フィルタ

画像の輝度値に対して、隣り合う画素の輝度差が大きいほど、画像のエッジだと考えることができ、
画像の輝度値データ輝度データ 画像輝度値データに対して

横方向の差分(偏微分)横方向偏微分以下のカーネルで求めることができる。

0 0 0
0 -1 1
0 0 0

縦方向の差分(偏微分)縦方向の微分下のは以下のカーネルで求めることができる。

0 1 0
0 -1 0
0 0 0

または

0 0 0
0 -1 0
0 1 0

※画像データの並びがボトムアップかボトムダウンかにより使い分けます。

このとき、エッジの強さは

エッジの強さ

エッジの傾きは

エッジの傾き

として求めることができる。

プリューウィットフィルタ(Prewitt filter)

微分フィルタではノイズに弱いため、横方向(または縦方向)のエッジを計算してから
縦方向(または横方向)に平均化処理を行う手法です。カーネルには以下とおりです。

横方向の差分

-1 0 1
-1 0 1
-1 0 1

縦方向の差分

1 1 1
0 0 0
-1 -1 -1

または

-1 -1 -1
0 0 0
1 1 1

ソーベルフィルタ(Sobel filter)

プリューウィットフィルタではノイズを除去するのに平滑化処理を行っていましたが、ガウシアン平滑化処理を行ったのがソーベルフィルタとなります。カーネルには以下とおりです。

横方向の差分

-1 0 1
-2 0 2
-1 0 1

縦方向の差分

1 2 1
0 0 0
-1 -2 -1

または

-1 -2 -1
0 0 0
1 2 1

画像処理アルゴリズムへ戻る

関連記事

関連記事

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

コメント

  1. […] ソーベルフィルタで輪郭を抽出します […]