Functions | |
template<class T> | |
double | X_tristim (T r, T g, T b) |
calculate the x tristimulous value from raw rgb. | |
template<class T> | |
double | Y_tristim (T r, T g, T b) |
calculate the y tristimulous value from raw rgb. | |
template<class T> | |
double | Z_tristim (T r, T g, T b) |
calculate the x tristimulous value from raw rgb. | |
template<class T> | |
double | gray (T v) |
calculate luminance L from raw mono, v is val 0-255 | |
template<class T> | |
double | u_coord (T X, T Y, T Z) |
calculate u chromaticity coordinate (0-1) from tristimulous values | |
template<class T> | |
double | v_coord (T X, T Y, T Z) |
calculate v chromaticity coordinate (0-1) from tristimulous values | |
template<class T, class Q> | |
void | uv_coord (T X, T Y, T Z, Q &u, Q &v) |
calculate uv chromaticity coordinate (0-1) from tristimulous values | |
template<class T, class Q> | |
void | RGB2LUV (T r, T g, T b, Q &L, Q &U, Q &V) |
calculate LUV from raw rgb | |
template<class T> | |
double | chroma (T U, T V) |
calculate chroma from LUV | |
template<class T> | |
double | hue (T U, T V) |
calculate hue from LUV | |
template<class T, class Q> | |
void | LUV2XYZ (T L, T U, T V, Q &X, Q &Y, Q &Z) |
calculate tristimulous values from LUV | |
template<class T, class Q> | |
void | LUV2RGB (T L, T U, T V, Q &r, Q &g, Q &b) |
calculate raw rgb from LUV |
Anyone who has worked with color values has learned that a change in brightness from 18 to 20 is far more significant than a change from 218 to 220. LUV is a color encoding with uniformity in the perceptibility of color differences that minimizes this problem. Dark differences are emphasized and light color differences are de-emphasized.
A major advantage of the CIELUV space is that it is easy to translate from RGB to LUV and back again. Some of the color spaces in use today do not have that property. The three colors in LUV are Luminance, U (red vs green), and V(blue vs yellow).
PiXFrame has color layers for each of the LUV. In addition, Chroma, Hue, Red, Green, and Blue layes are defined, since they are sometimes useful. Chroma and Hue are derived from the LUV values. Chroma is similar to contrast in other color spaces.
The equations in this version of CIELUV differ from normal in that the values range from 0 to 255 instead of 0 to 99. The tristimulous values remain the tradional 0 to 99. The chromaticity coordinates are 0 to 1.