RGBの値から輝度Yを求める方法

画像処理ソフトを使っていて、RGBの情報から輝度情報(Y)を求めたい場合があります。

例えば、下の黄緑と黄色ではどちらが明るいでしょうか?

単純に考えると3つの値の平均と思われるかもしれません。

その場合、偶然ですが両者とも同じ187になります。

或いは理数系の方でしたら、3つの値のベクトルを計算して求めると思われるかもしれません。

その場合、これまた偶然ですが両者とも同じ287になります。

ですが、二つを見比べる何となく黄色の方が明るく見えませんでしょうか。

ではPhotoshop等の一般的な画像処理ソフト上ではどうやって輝度情報を求めるかと言うと、以下の式で求めます。

Y=0.299R+0.587G+0.114B

一体この計算式の根拠は何だろうと思ってしまいますが、実はこの三つの係数(0.299、0.587、0.114)を全部足すとピッタリ1になります。

すなわちこれは、人間の色に対する視覚の強さを表しており、赤:緑:青の明るさを感じる度合いは凡そ3:6:1というのを、もっと正確に数値化して規格化(Rec.601)したものという訳です。

これで計算すると先ほどのカラーパッチの輝度情報(Y)は、以下の様になります。

という訳で画像処理上も人が感じる上でも、上のパッチであれば黄色の方が明るいという事になります。

コメント