Fórmula correcta para determinar el matiz de un color CIE L*a*b*

EasyRGB da la siguiente fórmula para determinar el matiz (y croma) de un color CIE L*a*b*:

var_H = arc_tangent( CIE-b*, CIE-a* )  //Quadrant by signs

if ( var_H > 0 ) var_H = ( var_H / PI ) * 180
else             var_H = 360 - ( abs( var_H ) / PI ) * 180

CIE-L* = CIE-L*
CIE-C* = sqrt( CIE-a* ^ 2 + CIE-b* ^ 2 )
CIE-H° = var_H

Sin embargo, da la siguiente fórmula en esta página (utilizado por el algoritmo Delta CMC):

CieLab2Hue( var_a, var_b )          //Function returns CIE-H° value
{
   var_bias = 0
   if ( var_a >= 0 && var_b == 0 ) return 0
   if ( var_a <  0 && var_b == 0 ) return 180
   if ( var_a == 0 && var_b >  0 ) return 90
   if ( var_a == 0 && var_b <  0 ) return 270
   if ( var_a >  0 && var_b >  0 ) var_bias = 0
   if ( var_a <  0               ) var_bias = 180
   if ( var_a >  0 && var_b <  0 ) var_bias = 360
   return ( rad2deg( atan( var_b / var_a ) ) + var_bias )
}

Para empeorar las cosas, esta página de Wikipedia establece lo siguiente:

CIELUV también se puede expresar en forma cilíndrica (CIELCH), con los componentes de cromaticidad reemplazados por correlatos de croma y tono.

Se podría concluir que esto significa que CIE L*a*b* debe convertirse primero a CIE L*u*v* antes de que se pueda determinar el tono.

¿Alguien puede aclarar esto?

preguntado el 22 de mayo de 12 a las 17:05

como Lab* y L+U+v* son modelos de color diferentes, el "tono" para el "mismo" color probablemente será diferente en cada uno de los modelos. -

1 Respuestas

Convertir coordenadas ortogonales a, b a coordenadas polares C, h

 C = sqrt (a * a + b * b)
 h = arctan (b/a)

C es el croma, h es el ángulo de matiz.

Respondido el 01 de Septiembre de 12 a las 01:09

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.