Luv to XYZ

This conversion requires a reference white $(X_r, Y_r, Z_r)$.

$$X = {{d - b} \over {a - c}}$$ $$Y = \cases{ {((L + 16)/116)}^3 & \text{if }L \gt \kappa \epsilon \\ L/\kappa & \text{otherwise} }$$ $$Z = Xa+b$$

where

$$a = {{1} \over {3}} \left({{{52L} \over {u + 13L u_0}} - 1}\right)$$ $$b = -5Y$$ $$c = -{{1} \over {3}}$$ $$d = Y \left({{{39L} \over {v + 13L v_0}} - 5}\right)$$ $$u_0 = {{4X_r} \over {X_r + 15Y_r + 3Z_r}}$$ $$v_0 = {{9Y_r} \over {X_r + 15Y_r + 3Z_r}}$$ $$\epsilon = \cases{ {0.008856} & \text{Actual CIE standard} \\ {216 / 24389} & \text{Intent of the CIE standard} }$$ $$\kappa = \cases{ {903.3} & \text{Actual CIE standard} \\ {24389 / 27} & \text{Intent of the CIE standard} }$$

Implementation Notes:

  1. For an explanation of $\epsilon$ and $\kappa$ click here.
  2. The output $(X, Y, Z)$ values are in the nominal range [0.0, 1.0].