「フィルタの働きの復習」
これまで解説してきたフィルタを,もう一度,その働きについて,復習してみましょう.
フィルタは,フィルタのおかれた画素の行列のうち,フィルタ中心部分の画素値(階調値など)を,どのような値にするかを計算させて決めるものです.
3行3列(3×3)の下図のようなフィルタがあった場合を考えます.
-1 |
0 |
0 |
0 |
2 |
0 |
0 |
0 |
-1 |
1) 各マス目(格子)の中の数値は,それぞれ,元の画像の画素値(階調値など)に掛け算をします.(例えば,左上であれば,マイナス1倍,隣はゼロ倍,などというように掛け算をして,その値を各マス目に戻しておきます.)
2) 上記で計算された各マス目の値を横に足し算します.横に足し算をしていきますので,3列あったものは,足され3行1列のマス目が残ります.
3) さらに,上記のマス目の値を縦に足し算します.3行あったものは,足されて,1つのマスに数値が残ります.
4) この値がフィルタの中心部分の画素に対する新しい値となります.上記のフィルタの“2”の値が掛け合わされた画素の部分が変わることになります.
例1)下記のようなフィルタは,左の画素値を,中心に移動することになるので,右に1画素移動させるフィルタとなる.
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
例2)下記のようなフィルタは,中心の画素値を二倍にした値から,左の画素値をマイナス二倍した値を足し算することになります.
すなわち,画素値が同じ値であれば,値はゼロとなり,画素値が異なる場合は,その差の二倍が中心の画素値となります.
したがって,フィルタのこの部分の値が,−4,4であれば,差の四倍の値が中心の画素値となり,画素値の違いを強調することになります.
ただし,計算された画素値がマイナスの値になると,画素値はゼロとなります.
そのため,元の画像において,画素値が大きい値から,小さい値へ変化する場合は,計算値がマイナスとなる可能性が多くなり,すなわち,画素の変化が右方向へ明るくなっていく場合に変化の値が大きくなり,これらを抽出するフィルタ(エッジ抽出)ということになります.
0 |
0 |
0 |
-2 |
2 |
0 |
0 |
0 |
0 |
例3)下記のようなフィルタは,上記のフィルタで,計算値がゼロ,すなわち,中心と左の画素値が同じ部分に,今度のフィルタは,中心の画素値がそのまま残ることになります.
中心と左の画素値が異なる部分では,元の画像に上記で抽出した画素の変化の値を足した値が,中心の画素値となるため,中心と左の画素の右に明るく変化する部分を強調するフィルタ(シャープ化)ということになります.
これらを参考に新しいフィルタを作成してみてください.
0 |
0 |
0 |
-2 |
3 |
0 |
0 |
0 |
0 |
下の画像を使用して,働きを検証してみましょう.
(bloon2.jpg)