colors – 绕过RGB步骤将YUV转换为HSL或HSV

维基百科和众多在线资源为从RGB到RGB的各种色彩空间转换提供了详细而丰富的帮助.我需要的是直接的YUV-> HSL / HSV转换.

事实上,我需要的只是Hue(不太关心饱和度或亮度亮度/值).换句话说,我只需要计算给定YUV颜色的“颜色角度”.

任何语言的代码都可以,但我的偏好是C风格的语法.

请注意,YUV我的意思是Y’UV,a.k.a.YCbCr(如果这有任何区别).

最佳答案 虽然YUV-> RGB颜色空间转换是线性的(与“可以表示为矩阵运算”相同),但RGB-> HSL不是.因此,不可能将两者组合成单个操作.

谢谢Kel Solaar为我确认这个.

以供参考:

> YUV(YCbCr)->RGB conversion
> RGB->HSL conversion

注意,在数学上,Hue的计算是分段写的,因为“基角”取决于颜色所在的扇区而“主色”是由max(R,G,B)表达式驱动的.

点赞