このアーカイブは同期化されません。 mixi の日記が更新されても、このアーカイブには反映されません。
今日からフィルタ処理をやろう。
フィルタ処理は、ピクセルの値を計算するために、
対象となるピクセルの周囲の値を利用して計算する。
今日やるのはぼかし処理だ。
ピクセル間のメリハリを弱めれば、ぼかしがかかる。
フィルタの考え方に当てはめると、
ピクセルを周辺の値に近づければよいのだ。
例えば、周辺のピクセルとの平均を取るのも方法である。
フィルタ処理には、「カーネル」という言葉が出てくる。
カーネルは、対象の範囲と重みを示す数値の並びであり、
カーネルを決めることでフィルタの計算方法を示す事ができる。
では、ぼかしフィルタのカーネルを具体的に決めてみよう。
今回は、周辺にある 8 ピクセルを使って計算するため、
ぼかしフィルタは、縦横それぞれ 3 つずつ数値を並べる。
例えば、以下のような感じだ。
1, 1, 1
1, 8, 1
1, 1, 1
上の数字の並びを、画像上に当てはめて考える。
数字の並びの中心を、計算したいピクセルに合わせて重ねる。
この場合、並びの中心にある 8 は
自分自身のピクセルの重み(重要度)であり、
周辺の 1 は、自分の周りにあるピクセルに対する重みだ。
周辺を含めてそのまま平均化すると強力すぎるので、
ピクセルの元の値の重み(重要度)を高くしてみた。
計算は、重みの数値の加重平均を行う。
例えば、以下のようなピクセル値の画像があったとする。
この中心にある 3 のピクセルに上記のフィルタを適用すると、
1, 2, 6
2, 3, 7
6, 7, 9
1 * 1 + 2 * 1 + 6 * 1 +
2 * 1 + 3 * 8 + 7 * 1 +
6 * 1 + 7 * 1 + 9 * 1 = 64
64 / (1 + 1 + 1 + 1 + 8 + 1 + 1 + 1 + 1) = 4 となる。
重みによって、元のピクセル値がある程度尊重されている。
もし全ての重みが一緒ならば、4.7 となり、
周辺の 6 や 7 の影響力が強くなることになる。
写真は、それぞれ以下のフィルタで処理をしたものだ。
中央が 1 の方がより強い効果が出ている。
分かりにくいかもしれないが、画像を開いて見比べてほしい。
1, 1, 1 1, 1, 1
1, 8, 1 1, 1, 1
1, 1, 1 1, 1, 1