このアーカイブは同期化されません。 mixi の日記が更新されても、このアーカイブには反映されません。
今日は、前回と反対の効果を持つくっきりフィルタだ。
ぼかしでは、ピクセル間のメリハリを弱くするために、
周辺のピクセルに近づける処理をした。
逆の発想で、周辺のピクセルとの差をより広くし、
ピクセル間のメリハリを強くすれば、
くっきり表示させることができる。
差を強調するにはどうすればいいか。
まずは、現画像から前回の方法でぼかし処理をした
画像を引き、ピクセル値の差分を求める。
元画像からこの差分を引いた結果、ぼけた画像ができた訳だ。
つまり、この差分はメリハリ部分を意味する情報だ。
では、逆にメリハリ情報を元画像に加算してあげれば、
今度はメリハリが強調されるのではないだろうか。
この方法は、アンシャープマスキングと呼ばれる。
ただ、上記の計算をそのまま行うと面倒なので、
元画像に対するカーネルの計算として考えてみよう。
まず、ぼかしは以下のカーネルで計算するとしよう。
1, 1, 1 ⇒ 1/16, 1/16, 1/16
1, 8, 1 ⇒ 1/16, 8/16, 1/16
1, 1, 1 ⇒ 1/16, 1/16, 1/16
後でカーネルどうしの計算をすることを考えて
重み合計が 1 になるように正規化したのが右である。
つまり、周辺ピクセルの影響力は 1/16、元ピクセルは 1/2 だ。
同様に元画像もカーネルで表現するとこうなる。
0, 0, 0
0, 1, 0
0, 0, 0
上記のカーネルは、周辺ピクセルを考慮せず、
元のピクセルをそのまま使うということだから、
元画像そのものである。
では、元画像からぼかしカーネルを引いてみよう。
-1/16, -1/16, -1/16
-1/16, 8/16, -1/16
-1/16, -1/16, -1/16
このカーネルを計算してできるのが、メリハリ情報となる。
差分情報であるため、値の合計は 0 となっている。
これをそのまま計算して画像とすると真っ黒になるため、
写真では、分かりやすくするために灰色を中心としている。
メリハリ部分が抽出されているのが分かるだろうか。
では、最終的にこのメリハリ情報を元画像に足してみよう。
-1/16, -1/16, -1/16
-1/16, 24/16, -1/16
-1/16, -1/16, -1/16
こうなった。重みを 16 にすると以下のようになる。
-1, -1, -1
-1, 24, -1
-1, -1, -1
つまり、このカーネルを元画像に適用すると、
上記のような手順を踏まなくとも、
直接くっきり処理を行うことができることとなる。
写真を見てほしい。右端がくっきり処理後の画像である。
元画像と比較して輪郭がはっきりしているのが分かるだろう。
しかし、同時にノイズも強調されてしまっているのだ。