目で見る RGB → Lab 変換


画像の RGB 値 (R', G', B') を Lab 値 (L*, a*, b*) に変換するプロセスを図で示す。考える色域は sRGB とする。視線の方向は,三つの軸のちょうどまん中,すなわち R=G=B 方向,X=Y=Z 方向, L*=a*=b* 方向とする。全形がわかるよう,正面・側面・平面への投影図も示しておいた。

RGB color cube in RGB space
(1) RGB 色空間における sRGB の色域。いわゆる色の立方体になる。RGB 値は,画像データの R'G'B' 値ではなく,逆補正で本来の明るさに戻した RGB 値 (リニア RGB) とする。
sRGB (D65) gamut in XYZ space
(2) 上の RGB 値を XYZ に変換したもの。色域は,平行六面体になる。sRGB の白色点 (ホワイトポイント) は D65 なので,白の頂点が図のまん中よりもやや青いほうへ寄っている。
sRGB (D50) gamut in XYZ space
(3) 色順応変換 (Bradford 変換) で,白色点を D50 に変換したところ。白の頂点が図のまん中よりもやや黄色いほうへ寄っている。Lab では D50 の白色点を使うのがふつうなので,この変換が必要である。(1) からいきなりここまで変換してもよい。
sRGB (D50) gamut in XYZ space, transformed with F(t) function
(4) 色域が Lab への変換で歪むようすを理解するため,(3) を関数 F(t) で変換した段階を示す。3乗根を含む非線形の式を使うので,平行四辺形の辺が図のように歪む。また,変換の前に XYZ の最大値を 1.0 に揃えているので,白が図のちょうどまん中に来ている。
sRGB gamut in Lab
              space
(5) 上図の無彩色の線を Y 軸方向まで起こして L* 軸とし,X 軸, Z 軸をそれぞれ拡大して a* 軸, b* 軸とする。L* は 0-100 の間に収まるが,a*, b* は負の値もとるので,表示する座標軸の範囲を広げておいた。(4) は説明のために入れただけで,ふつうは (3) から (5) へ直接変換する。


戻る
T. Fujiwara,  2013/12