下図のように画像の輪郭(エッジ)を抽出する方法を紹介します。
→ | ||
エッジ抽出前 | エッジ抽出後 |
上図はソーベルフィルタの例です。
微分フィルタ
画像の輝度値に対して、隣り合う画素の輝度差が大きいほど、画像のエッジだと考えることができ、
画像の輝度値データ 画像輝度値データに対して
横方向の差分(偏微分)以下のカーネルで求めることができる。
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など)|イメージングソリューション […]
[…] ソーベルフィルタで輪郭を抽出します […]
[…] ソーベルフィルタ […]