我试图弄清楚如何从HSV(替代RGB)中获得色度。问题是;我几乎不知道什么是色度。根据网上可用的少量信息,通常将其称为“相对色度”,它是色调和饱和度的组合。
从http://www.huevaluechroma.com/012.php:
我确实有一个RGB,已在PHP中将其转换为HSV。我希望那里有人可以提供有关此问题的专业知识,因为所记录的信息似乎非常有限。我需要它来验证NCS代码。
到目前为止的色度计算:
//$hsv is array(h, s, v), maximum considered to be 10000
$chroma = $hsv[1] * $hsv[2];
$chromaticness = $chroma / 10000;
例如,颜色S 2065-B(#0073B0)使用上面的计算得出的色度为69%,而应该为65%。另外,颜色S 0580-Y(#FECB00)当应该为80%时给我99%?
我在这些示例中获得的HSV是:
#0073B0 {'H'=> 200.79545454545,'S'=> 100,'V'=> 69.019607843137}
#FECB00 {'H'=> 47.952755905512,'S'=> 100,'V'=> 99.607843137255}
任何编程语言都欢迎使用此解决方案,但是我使用PHP进行编码,因此很可能会转换为该解决方案。
最佳答案
色度是Munsell系统除色相和亮度/亮度之外的第三个属性。
色度通常定义了所讨论色调的色彩:
即颜色的属性,指示颜色与相同亮度的灰色之间的偏离程度。 Rolf G. Kuehni的《色彩空间及其划分》(可在Google图书中找到)
色度的已编码公式为here
在您考虑色域之前,色度仍然是不限数量的-从0到无穷大。
NCS 色度是以色度指定的色度,以的百分比表示-其中100%对应于某个有限上限see ISSN-03912051。您将需要选择该有限值,以在计算系统中获得良好的工作动态范围。
信任会有所帮助。