「エッジ抽出
上のような画像を見たことはあるでしょうか。
これは「エッジ抽出」と呼ばれるもので、色や明度の変化する部分を抽出する処理です。
これも「エンボス加工」と同様にフィルタ行列を使って簡単に作ることができます。
ここでも分かりやすくするために,まず一次元の配列で考えてみましょう。
-2 |
4 |
-2 |
除数・・1、バイアス値・・0
上図のようなフィルタ行列を考えてみます。これを用いて下図のような配列を処理してとどうなるでしょうか。
ここで「除数」とは,フィルタ行列の計算に含まれるピクセルの輝度値の和を割る値です。
「バイアス」とは,スケール値を用いた計算結果に加える値です。
..... |
f[i-3] |
f[i-2] |
f[i-1] |
f[i] |
f[i+1] |
f[i+2] |
f[i+3] |
f[i+4] |
..... |
..... |
100 |
100 |
98 |
90 |
60 |
52 |
50 |
50 |
..... |
すると
90× 4
= 360
60×(-2)= -120
以下同様に,すべての配列について計算すると
..... |
f[i-3] |
f[i-2] |
f[i-1] |
F[i] |
f[i+1] |
f[i+2] |
f[i+3] |
f[i+4] |
..... |
..... |
0 |
4 |
12 |
44 |
-44 |
-12 |
-4 |
0 |
..... |
となります。これらをグラフ化してみます。グラフ化の文字をクリックしてください。
マイナスの値は0として扱われるため、黒になります。
元の画像で、色や明度の大きく変化する部分だけが、数値が大きくなり、それ以外は上のフィルタをかけると黒になっていまいます。
そのため、このフィルタは、変化部分のおける色や明度の値の差が大きな値となった部分を抽出したことになります。
【実 習】
では、実際に下の画像を用いてエッジの処理をしてみましょう。
(bloon2.jpg)
上の画像をコンピュータに取り込んでみてください。
エッジのフィルタ例
エッジのフィルタも様々なものが考えられ、またその効果も様々です。例として以下のような3つのフィルタを考えてみます。
(1)
0 |
0 |
0 |
0 |
0 |
0 |
0 |
-2 |
0 |
0 |
0 |
-2 |
8 |
-2 |
0 |
0 |
0 |
-2 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
除数[1] |
||||
バイアス[0] |
まず右に示すようなエッジフィルタをかけてみます。
このフィルタでは、上下左右の色や明度の変化部分が抽出されることがわかります。
(2)
0 |
0 |
0 |
0 |
0 |
0 |
-2 |
0 |
-2 |
0 |
0 |
0 |
8 |
0 |
0 |
0 |
-2 |
0 |
-2 |
0 |
0 |
0 |
0 |
0 |
0 |
除数[1] |
||||
バイアス[0] |
次に右に示すようなエッジフィルタをかけてみます。
このフィルタでは、斜め方向の色や明度の変化部分が抽出されることがわかります。
(3)
0 |
0 |
0 |
0 |
0 |
0 |
-2 |
-2 |
-2 |
0 |
0 |
-2 |
16 |
-2 |
0 |
0 |
-2 |
-2 |
-2 |
0 |
0 |
0 |
0 |
0 |
0 |
除数[1] |
||||
バイアス[0] |
さらに右に示すようなエッジフィルタをかけてみます。
このフィルタでは、上下左右と斜め方向の色や明度の変化部分が抽出されることがわかります。
加藤晋のページへ | ICTメディア編集1
| 他のフィルタ例