MCPcopy Create free account
hub / github.com/KAlO2/PerfectShow / hsl2rgb

Function hsl2rgb

jni/venus/color_space.cpp:183–205  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

181}
182
183cv::Vec3f hsl2rgb(const cv::Vec3f& hsl)
184{
185 const float& h = hsl[0], &s = hsl[1], &l = hsl[2];
186 cv::Vec3f rgb;
187 if(s == 0.0f) // achromatic case
188 rgb[2] = rgb[1] = rgb[0] = l;
189 else
190 {
191 float m2;
192 if (l <= 0.5f)
193 m2 = l * (1.0f + s);
194 else
195 m2 = l + s - l * s;
196
197 float m1 = 2.0f * l - m2;
198
199 rgb[0] = hsl_value (m1, m2, h * 6.0f + 2.0f);
200 rgb[1] = hsl_value (m1, m2, h * 6.0f);
201 rgb[2] = hsl_value (m1, m2, h * 6.0f - 2.0f);
202 }
203
204 return rgb;
205}
206
207cv::Vec4f rgb2cmyk(const cv::Vec3f& rgb, float pullout)
208{

Callers

nothing calls this directly

Calls 1

hsl_valueFunction · 0.85

Tested by

no test coverage detected