维基百科和大量在线资源为 RGB 之间的各种颜色空间转换提供了详细且丰富的帮助。我需要的是一个直接 YUV->HSL/HSV 转换.
事实上我需要的只是Hue(不太关心饱和度或亮度亮度/值)。换句话说,我只需要计算给定 YUV 颜色的“颜色角度”。
任何语言的代码就足够了,尽管我更喜欢 C 风格的语法。
请注意,我所说的 YUV 特指 Y′UV,又名 YCbCr(如果这有什么区别的话)。
而YUV->RGB色彩空间转换是线性的(同“可以表示为矩阵运算”)RGB->HSLis not。因此不可能将两者合并为一个操作。
感谢凯尔·索拉尔(Kel Solaar)为我证实了这一点。
以供参考:
- YUV(YCbCr)->RGB转换
- RGB->HSL 转换
请注意,在数学上,色相的计算是分段编写的,因为“底角”取决于颜色所在的扇区,而“主颜色”则由max(R, G, B)
表达。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)