RGB・CMYKで表す色は一つに決まっておらず、どういう色で表現するかはディスプレイやプリンターなどのデバイスの自由です。
しかし、L*a*b*など、デバイスに関係なく色を明確に表現する方法もあります。
ここではRGB・CMYKの色は一つに決まっていない一方、L*a*b*なら一つに決まることをご紹介します。
単純なRGB・CMYKの表現と、L*a*b*などの表現の違い
RGB・CMYKの色の表現は、大きさを「手のひらサイズ」と表現していることと似ている
RGBやCMYKで色を表す方法は、何かの大きさを「手のひらサイズ」のように表現することと似ています。
「手のひらサイズ」と言っても、手の大きい人の「手のひらサイズ」は大きく、手が小さい人の「手のひらサイズ」は小さいでしょう。
そのため、だいたいのサイズは分かりますが、それほど正確なサイズは分かりません。
L*a*b*などは、大きさを単位[m]などを使って表現することと似ている
一方、L*a*b*値など、等色実験に基づいて作られた表色系で表した色は正確に決められています。
どのディスプレイでもプリンターでも、同じL*a*b*値が指示されれば同じ色で出力されます。
「手のひらサイズ」ではなく「縦13cm横7cm」と表せば、手の大きい人にとっても小さい人にとっても同じ「縦13cm横7cm」であることと似ています。
同じ色で出力されなければそのデバイスの調整がずれているということです。
RGB・CMYKを、L*a*b*などで表し直すと便利
RGB・CMYKのように曖昧な色の表現のままでは不便です。
そこで、RGB・CMYKで表現された色を、絶対的な色表現であるCIELAB均等色空間のL*a*b*値などに表し直すと便利になります。
RGB値を単純に別のデバイスに渡すと色が変わってしまいますが、CIELAB表色系などに表し直してそのL*a*b*値を次のデバイスに渡せば、同じ色のまま渡せます。
例えばRGB(250,0,100)をデバイスからデバイスに渡してみる
イラストを描いて、服の色をRGB(250,0,100)で塗ったとします。
RGB(250,0,100)をそのままプリンターに送ると、RGB(250,0,100)をどういう色で出力するかはプリンターの自由なので、プリンターが勝手な色で出力します。
そこで、このRGB(250,0,100)を絶対的色表現(例えばL*a*b*値)に表し直します。
表し直したL*a*b*値をプリンターに送れば、プリンターはそのL*a*b*値が表す色で出力します。
L*a*b*の色は絶対的に決められていて、どういう色で出力するかがプリンターの自由ではないからです。
細かく言うとL*a*b*の値は白基準の取り方で変わる
細かく言うと、L*a*b*の値は白基準をどういう色にするかによって数値が変わります。
そのため、L*a*b*の値で色を扱うときは白基準をどういう色にしたかということもセットで扱います。
そういったことを正確に秩序立てて知るには色彩工学の本などをお読みください。
以上、RGB・CMYKの色は一つに決まっていない一方、L*a*b*なら一つに決まることをご紹介しました。
参考記事