エッジ抽出(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

 

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

 

エッジ抽出(Sobel,Prewittなど)」への3件のフィードバック

  1. ピンバック: 画像のフィルタリング: (1) 空間フィルタリング(Spatial Filtering) | CVMLエキスパートガイド

  2. ピンバック: Canny edge detector | イメージングソリューション

  3. ピンバック: 画像処理フィルタ一覧、比較 | イメージングソリューション

画像のフィルタリング: (1) 空間フィルタリング(Spatial Filtering) | CVMLエキスパートガイド へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください