blogTitle.png
p < .05 公式ブログ
同じ画像を複製してスクリーン合成、もう一度複製して乗算 (2)
写真うまくなりたいな | comments(0)

 

 

同じ画像を三層のレイヤーになるように複製し、一番上を乗算合成、真ん中をスクリーン合成にすると、シャドウをほどよく強調した写真(上の写真の右半分)になるのは一体どういう理屈なんだろうね?

 

 

このことを理解するため、Mac OSにオマケでついてくるグラフアプリ Grapherを使用するよ。グラフのx軸を合成前のRGB値、y軸を合成後のRGB値と考えよう。特に合成効果をつけないのであれば(標準)、RGB値はまったく変わらないので、単に

 

y = x

 

となって、右上がりの直線で合成効果が表現されるよ。なお、こういった合成は、RGB値を0から1の範囲に正規化して行っていると考えると分かりやすいので、上のグラフでも定義域、値域とも0〜1の範囲を中心に表示しているぞ。

 

 

乗算合成はやってることが単純なので、文系のボクにもわかりやすい。だからこっちを先に考えるよ。乗算合成は、二枚のレイヤーのRGB値をかけ算した結果を与える合成モード。だとすれば、同じ画像を重ねて乗算合成するということは、同じ値の二乗をしているのと同じ。だから合成の効果は

 

y = x^2

 

という二次関数の式で表せるよ。そうすると、合成結果はy = xの線より下、つまり暗くなることがわかるね。完全に白(x = 1)と完全に黒 (x = 0)のところでは値は変わらないよ。

 

 

一方、スクリーン合成は、画像をネガポジ反転した状態で乗算合成をして、それをまたネガポジ反転して元に戻す、ということをやっているんだって。だから合成の効果は、

 

y = 1 - (1 - x)^2

 

っていう式で表されることになるんだ。全体として、y = x のグラフよりもRGB値が明るくなってるのがわかるね。

 

 

さて、実際に知りたいのは、チュートリアル記事にあった、「複製して重ねてスクリーン合成、も一つ重ねて乗算合成♫」というやり方についてだったね。これは、上で考えた二つの合成効果の式をつなげることになるので、

 

y = (1- (1 - x)^2)*x

 

っていう式で表されるみたいだ。ちょっと自信が無いよ。でも、トーンカーブを上のグラフと同じ形にしてオリジナル写真に適用すると同じ結果が得られたので、多分合っていると思うぞ。試してみてね。

 

この合成は、乗算合成と同じで、RGB値を y = x のグラフよりも暗くしているのがわかるね。でも、その効果は乗算合成よりもマイルドだ。それから、RGB値を暗くする効果は、明るい部分よりも暗い部分で強くなっているよ。

 

ガンマや視覚系の特性によって生じる非線形性がこの話とどう関わってくるかは、おうちの人と一緒に考えてみてね。それじゃ!