HSL色空間とHSV色空間
以下に示される値は、 H と H2 が0度以上360度未満であることを除き、すべて0以上1以下である。
HSLまたはHSVからRGBへ変換するためには、基本的には上述の手順を反転する。その際も、 R, G, B ∈ [0, 1] である。
まず、与えられた色のLightnessまたはValueにおけるChromaの最大値をSaturationの値に乗じることにより、Chromaを計算する。次に、RGB立方体の底面3面のうち、与えられた色と同じHueとChromaをもつ、すなわち色度平面上の同じ点に投影される点を探す。最後に、与えられた色のLightnessまたはValueに一致するよう、 R, G, B に等量を加算する。
一方、純色に白を混ぜる場合、HSLではSaturationは変わらないが、HSVでは小さくなる。HSLのSaturationは、黒と白を同時に混ぜる場合に小さくなる。
このような彩度の定義では、暗い色(両モデルとも)や明るい色(HSLの場合)も「Saturation 100%」すなわち「最も鮮やかな色」とされ、「Saturation(彩度)」を「鮮やかさ」としてとらえる場合、直感に反する。そこで図3のように、円柱の代わりに、半径方向にChroma(ある色をRGB色空間で表した際のその値の範囲に等しい。詳細は後述される)をとる円錐や双円錐を用いて色空間を表現することがある。このとき、半径方向の値が「Saturation」「彩度」と表現され、「Chroma」との区別が曖昧にされる場合がある。
後述されるように、Chromaの算出は、RGBからのHSL・HSVへの変換において有用である。
H 2 = atan2  ( β , α ) {\displaystyle H_{2}=\operatorname {atan2} (\beta ,\alpha )}
C 2 = gmean  ( α , β ) = α 2 + β 2 {\displaystyle C_{2}=\operatorname {gmean} (\alpha ,\beta )={\sqrt {\alpha ^{2}\!+\beta ^{2}}}}
ここで、atan2は2つの引数をとるarctanであり、直交座標の2成分から角度を計算する。
この方法と円への変形とを比較すると、Hue( H と H2 )はほぼ一致しており、どの色においてもその差は最大で約1.12度である( H ≒ 13.38°, H2 ≒ 12.26° などの12か所で差が最大となり、30度の倍数では H = H2 )。しかし、Chroma( C と C2 )については、Hueが60度の倍数となる位置では両者は等しいが、30度の倍数であるときには約13.4%の差が生じる(例えば H = H2 = 30° のとき C = 1 に対して C2 = √3⁄4 ≒ 0.866)。
より人間の知覚に近づけるための方法として、明るさの指標にルーマ(Y')を用いる方法がある。ルーマは人間の知覚に基づいてガンマ補正された R, G, B の加重平均であり、カラーテレビ放送の白黒成分の次元として用いられている。sRGBでは Rec. 709 に基づくY'709、NTSCでは Rec. 601 に基づくY'601が用いられるなど、定義と用途はさまざまである。 Y 601 ′ = 0.299 R + 0.587 G + 0.114 B {\displaystyle Y_{\text{601}}^{\prime }=0.299~R+0.587~G+0.114~B} (SDTV) Y 240 ′ = 0.212 R + 0.701 G + 0.087 B {\displaystyle Y_{\text{240}}^{\prime }=0.212~R+0.701~G+0.087~B} (Adobe RGB) Y 709 ′ = 0.2126 R + 0.7152 G + 0.0722 B {\displaystyle Y_{\text{709}}^{\prime }=0.2126~R+0.7152~G+0.0722~B} (HDTV) Y 2020 ′ = 0.2627 R + 0.6780 G + 0.0593 B {\displaystyle Y_{\text{2020}}^{\prime }=0.2627~R+0.6780~G+0.0593~B} (UHDTV, HDR)