18 #ifndef PIC_COLORS_COLOR_CONV_XYZ_TO_CIELAB_HPP 19 #define PIC_COLORS_COLOR_CONV_XYZ_TO_CIELAB_HPP 21 #include "../colors/color_conv.hpp" 60 void direct(
float *colIn,
float *colOut)
64 colOut[0] = 116.0f * fY_Yn - 16.0f;
65 colOut[1] = 500.0f * (
f(colIn[0] /
white_point[0]) - fY_Yn);
66 colOut[2] = 200.0f * (fY_Yn -
f(colIn[2] /
white_point[2]));
76 float tmp = (colIn[0] + 16.0f) / 116.0
f;
88 static float f(
float t)
91 return powf(t, 1.0
f / 3.0
f);
106 return powf(t, 3.0
f);
const float C_CIELAB_C1_INV
Definition: color_conv_xyz_to_cielab.hpp:30
ColorConvXYZtoCIELAB()
ColorConvXYZtoCIELAB.
Definition: color_conv_xyz_to_cielab.hpp:47
The ColorConvXYZtoCIELAB class.
Definition: color_conv_xyz_to_cielab.hpp:36
static float f_inv(float t)
f_inv
Definition: color_conv_xyz_to_cielab.hpp:103
bool linear
Definition: display.hpp:30
void direct(float *colIn, float *colOut)
direct
Definition: color_conv_xyz_to_cielab.hpp:60
float white_point[3]
Definition: color_conv_xyz_to_cielab.hpp:40
void inverse(float *colIn, float *colOut)
inverse
Definition: color_conv_xyz_to_cielab.hpp:74
static float f(float t)
f
Definition: color_conv_xyz_to_cielab.hpp:88
const float C_SIX_OVER_TWENTY_NINE
Definition: color_conv_xyz_to_cielab.hpp:25
Definition: bilateral_separation.hpp:25
const float C_SIX_OVER_TWENTY_NINE_CUBIC
Definition: color_conv_xyz_to_cielab.hpp:26
const float C_FOUR_OVER_TWENTY_NINE
Definition: color_conv_xyz_to_cielab.hpp:31
The ColorConv class.
Definition: color_conv.hpp:26
const float C_CIELAB_C1
Definition: color_conv_xyz_to_cielab.hpp:28