warframe sistema munsell definicion color clasificación chroma c# javascript php colors

c# - definicion - munsell sistema de color



Extraer cromaticidad/croma relativo de HSV (2)

Estoy tratando de descubrir cómo sacar la cromaticidad del HSV (RGB alternativo). El problema es; Apenas sé qué es la cromaticidad. De acuerdo con la pequeña información disponible en la red, generalmente se refiere a "croma relativo", que es una combinación de matiz y saturación.

De http://www.huevaluechroma.com/012.php :

Otro término para el concepto de croma relativo a un máximo supuesto es la cromaticidad del sistema sueco NCS

Tengo un RGB que he convertido a HSV en PHP. Espero que haya alguien que pueda aportar su experiencia en esta cuestión porque parece que hay información muy limitada documentada. Lo necesito para validar los códigos NCS.

Cálculo cromático hasta ahora:

//$hsv is array(h, s, v), maximum considered to be 10000 $chroma = $hsv[1] * $hsv[2]; $chromaticness = $chroma / 10000;

Por ejemplo, el color S 2065-B (# 0073B0) me da una cromaticidad del 69% usando el cálculo anterior cuando debería ser del 65%. Además, el color S 0580-Y (# FECB00) me da el 99% cuando debería ser el 80%?

El HSV en estos ejemplos que estoy obteniendo son:

# 0073B0 {''H'' => 200.79545454545, ''S'' => 100, ''V'' => 69.019607843137}

# FECB00 {''H'' => 47.952755905512, ''S'' => 100, ''V'' => 99.607843137255}

Esta solución es bienvenida en cualquier lenguaje de programación, sin embargo, estoy codificando en PHP, por lo que probablemente se convierta en eso.


Chroma es el tercer atributo del sistema Munsell más allá del tono del color y la luminosidad / brillo.

Chroma en general define el colorido del matiz en cuestión: es decir, el atributo de color que indica el grado de desviación del color del gris de la misma claridad. Desde aquí, Espacio de color y sus divisiones por Rolf G. Kuehni (ampliamente disponible en los libros de google)

La crominancia y la saturación son idénticas para dos colores con el mismo tono y luminosidad. La saturación permanece constante independientemente del brillo o la luminosidad. Chroma, por otro lado, aumenta a medida que aumenta la ligereza.

Las fórmulas codificadas para Chroma se dan aquí

Hasta que considere las gamas de colores, Chroma permanece como una cantidad abierta, variando desde 0 hasta infinito.

La cromaticidad NCS se especifica en porcentaje de Chroma , donde 100% corresponde a un límite superior finito, ver ISSN-03912051 . Tendrá que elegir ese valor finito para obtener un buen rango dinámico de trabajo en su sistema computacional.

Confianza que ayuda.


Creo que el problema que tiene está relacionado con el hecho de que los cuatro colores básicos en el sistema NCS no tienen todos los valores 100% en el sistema HSV.

Por ejemplo, una naranja totalmente saturada y completamente brillante en el sistema NCS estaría a mitad de camino en el arco HSV entre NCS amarillo y NCS rojo. NCS amarillo tiene un Valor de VHS de 100%, pero NCS rojo tiene un Valor de VHS de solo 77%, por lo que este naranja tendría un Valor de aproximadamente 88.5%. No obstante, la cromaticidad NCS aún sería del 100%, aunque su cálculo de HSV le daría una cromaticidad del 88.5%. (También está el problema de que NCS rojo está solo un 99% saturado en el sistema HSV, pero estoy ignorando eso).

Los valores HSV para los colores base NCS son los siguientes:

white 100% black 0% green 63% red 77% yellow 100% blue 74%

fuente: https://en.wikipedia.org/wiki/Natural_Color_System

Creo que lo que debe hacer es, después de haber calculado el "tono" NCS GY / GB / RY / RB, calcular el valor HSV máximo para ese tono NCS en base a la prorrateo de los dos colores base NCS relevantes, luego calcular el La cromaticidad NCS como una fracción de ese valor máximo de HSV (es decir, se divide por ese valor máximo, si se trata de números entre 0 y 1). Por lo tanto, daríamos un naranja Y50R saturado con un valor HSV de 22.125% una cromaticidad de 25%, ya que 22.125% es 25% del valor máximo de 88.5% para Y50R naranja.

Tenga en cuenta que esto significa que tendrá que lidiar con los colores RGB / HSV que caen por encima de los valores máximos para los colores NCS. En esos casos, probablemente solo escale el Valor HSV al máximo para los colores NCS con el mismo tono.