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

Colors 绕过RGB步骤将YUV转换为HSL或HSV,colors,yuv,hsv,color-space,hsl,Colors,Yuv,Hsv,Color Space,Hsl,Wikipedia和大量在线资源为从RGB到RGB的各种颜色空间转换提供了详细而丰富的帮助。我需要的是直接YUV->HSL/HSV转换 事实上,我需要的只是色调(不要太在意饱和度或亮度/亮度值)。换句话说,我只需要计算给定YUV颜色的“颜色角度” 任何语言的代码都足够了,尽管我更喜欢C风格的语法 请注意,YUV的具体含义是Y′UV,也称为YCbCr(如果有任何区别)。当YUV->RGB颜色空间转换是线性的时(与“可以表示为矩阵运算”相同),RGB->HSL不是。因此,不可能将二者结合为一个操作

Wikipedia和大量在线资源为从RGB到RGB的各种颜色空间转换提供了详细而丰富的帮助。我需要的是直接YUV->HSL/HSV转换

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

任何语言的代码都足够了,尽管我更喜欢C风格的语法


请注意,YUV的具体含义是Y′UV,也称为YCbCr(如果有任何区别)。

当YUV->RGB颜色空间转换是线性的时(与“可以表示为矩阵运算”相同),RGB->HSL不是。因此,不可能将二者结合为一个操作

谢谢Kel Solaar为我确认这一点

供参考:


请注意,从数学上讲,色调的计算是分段编写的,因为“底角”取决于颜色所在的扇区,“主色”由
max(R,G,B)
表达式驱动。

我认为它们来自不同的兴趣领域。这是一项谷歌专利

您应该知道,我们不能推荐任何库或软件来执行此操作。我们可以帮助您编写代码,但我们也不能为您编写。@Rob您建议将其移至其他SE站点吗?如果有的话-哪一个?(我可以自己写代码,没什么大不了的。我需要关于颜色空间转换算法的帮助)好问题。有一个图形和一个数学。我自己也会对这个解决方案感兴趣,尽管我有一些几十年来都没有看过的算法。我两个都想过(加上“照片/视频”),但没有一个看起来合适,TBH。这就是为什么这个问题最终出现在这里——我希望我有更好的机会吸引那些“对这个解决方案感兴趣”的人,就像你上面所说的。看看游戏。那里也有同样的人。我不知道其他SE站点是否对推荐有相同的限制。我想补充一点,即使Y'CbCr和RGB之间的关系是线性的,但转换实际上是Y'CbCr到R'G'B。这里的素数表示被转换和转换的组件的非线性。Y'CbCr的Y'表示亮度,而不是亮度。这意味着,在转换为HSV之前,您可能还希望将非线性编码的R'G'B'颜色解码为线性RGB颜色。。。它与查找表有何不同?;-)这也使得其空间要求在RAM有限的任何应用中都不现实