// ---------------------------------------------------------------------- // color_conv.h // 21.02.2005, Jens Ahrensfeld // ---------------------------------------------------------------------- #ifndef COLOR_CONV_H #define COLOR_CONV_H #include "colortypes.h" // ---------------------------------------------------------------------- #define K_XYZ 1.0 #define OBS_TYPE_2DEG 2 #define OBS_TYPE_10DEG 10 #define ILLU_TYPE_A 1 #define ILLU_TYPE_C 2 #define ILLU_TYPE_D50 3 #define ILLU_TYPE_D55 4 #define ILLU_TYPE_D65 5 #define ILLU_TYPE_D75 6 #define ILLU_TYPE_F2 7 #define ILLU_TYPE_F7 8 #define ILLU_TYPE_F11 9 #define ILLU_TYPE_INCANDESCENT 10 #define ILLU_TYPE_DAYLIGHT 11 #define ILLU_TYPE_FLUORESCENT 12 // ---------------------------------------------------------------------- void rgb2hsv(color_vector_t *pRGB, color_vector_t *pHSV, int len); void hsv2rgb(color_vector_t *pHSV, color_vector_t *pRGB, int len); void rgb2hsl(color_vector_t *pRGB, color_vector_t *pHSL, int len); void hsl2rgb(color_vector_t *pHSL, color_vector_t *pRGB, int len); void rgb2xyz(double **ppRGB, double **ppXYZ, int len); void xyz2rgb(double **ppXYZ, double **ppRGB, int len); void xyz2lab(double **ppXYZ, double **ppLAB, double *pRef, int len); void lab2xyz(double **ppLAB, double **ppXYZ, double *pRef, int len); void rgb2rgb(double **ppSrc, double **ppDst, int len); void tristimulus(double *pRef, unsigned illuminant_type, unsigned observer_type); // ---------------------------------------------------------------------- #endif // COLOR_CONV_H