miércoles, 13 de febrero de 2013

Espacio de Color LAB


Lab es el nombre abreviado de dos espacios de color diferentes. El más conocido es CIELAB (estrictamente CIE 1976 L*a*b*) y el otro es Hunter Lab (estrictamente, Hunter L, a, b). Lab es una abreviación informal, y puede confundirse con uno u otro espacio de color. Los espacios de color están relacionados en intención y propósito, pero son diferentes.
Ambos espacios son derivados del espacio "maestro" CIE 1931 XYZ. Sin embargo, CIELAB se calcula usando raíces cúbicas, y Hunter Lab se calcula usando raíces cuadradas.1 Se recomienda utilizar CIELAB para nuevas aplicaciones, excepto donde los datos deban compararse con valores Hunter L,a,b existentes.1
El propósito de ambos espacios es producir un espacio de color que sea más "perceptivamente lineal" que otros espacios de color. Perceptivamente lineal significa que un cambio de la misma cantidad en un valor de color debe producir un cambio casi de la misma importancia visual. Lo anterior puede mejorar la reprodución de tonos cuando se almacenan colores en valores de precisión limitada. Ambos espacios Lab están relacionados con el punto-blanco de los datos XYZ desde donde fueron convertidos. Los valores Lab no definen colores absolutos a no ser que se especifique el punto-blanco. En la práctica, muchas veces se asume que el punto-blanco sigue un estándar y no se establece explícitamente (por ejemplo, todo los valores Lab ICC son relativos al iluminante D50 del estándar CIE).

Ventajas de LAB
Comparado con el RGB y CMYK, a menudo es más rápido hacer correcciones eficientes de color en Lab. El hecho de que la luminosidad es completamente ignorada en los canales A y B, hace que sea mucho menos sensible a errores.
Aunque el número de valores numéricos posibles por cada píxel es menor en Lab que en RGB o CMYK, es posible referenciar una cantidad superior de colores en total desde el sistema Lab -no solo colores que no pueden ser descritos con RGB o CMYK sino también colores que no aparecen en absoluto en el mundo real. En algunos casos este acceso a colores imaginarios es de utilidad cuando se generan manipulaciones de imagen de gran cantidad de pasos.
Sería natural asumir que uno pierde información convirtiendo una imagen entre Lab y cualquier otro espacio de color. De todas maneras, de acuerdo a las pruebas realizadas por Dan Margulis las pérdida es ínfima.

Un ejemplo de aumentar los colores usando LAB en Photoshop.El lado izquierdo está aumentado.

Significado de LAB
Algunos usos específicos de la abreviación en literatura, software,ect.
  • En Adobe Photoshop, la edición de imágenes usando "Lab" es CIELAB D50.
  • En Perfiles ICC, el espacio de color Lab usado como el espacio de conexión de perfil es CIELAB D50.
  • En archivos TIFF, el espacio de color Lab es CIELAB.
  • En documentos PDF, Lab es CIELAB.

El espacio de color CIE 1976 L*, a*, b* CIELAB

El CIE L*a*b* (CIELAB) es el modelo cromático usado normalmente para describir todos los colores que puede percibir el ojo humano. Fue desarrollado específicamente con este propósito por la Commission Internationale d'Eclairage (Comisión Internacional de la Iluminación), razón por la cual se abrevia CIE. Los asteriscos (*) que siguen a cada letra forman parte del nombre, ya que representan L*, a* y b*, de La y b.
Los tres parámetros en el modelo representan la luminosidad de color (L*, L*=0 rendimientos negro y L*=100 indica blanca), su posición entre rojo y verde (a*, valores negativos indican verde mientras valores positivos indican rojo) y su posición entre amarillo y azul (b*, valores negativos indican azul y valores positivos indican amarillo).
El modelo de color Lab ha sido creado para servir como un dispositivo independiente modelo para ser utilizado como referencia. Por eso es crucial darse cuenta de que la representaciones visuales de la plena gamut de colores en este modelo nunca son exactas. Están ahí sólo para ayudar en el concepto, pero son intrínsecamente inexactas.
El modelo de color Lab es tridimensional y sólo puede ser representado adecuadamente en un espacio tridimensional.
Luminosidad al 25 %


Luminosidad al 75 %























Diferencias de medida 
CIE 1976 L*a*b* está basado en el espacio de color XYZ CIE 1931 como un intento de linealizar las diferencias de color perceptibles por el ojo humano, usando la métrica de diferencias de color descritas por la elipse de MacAdam. Las relaciones no lineales para L*, a* y b* pretenden emular la respuesta no lineal del ojo. Además, los cambios uniformes de los componentes en el espacio de color L*a*b* tienen por objeto corresponder a cambios uniformes en el color percibido, por lo que las diferencias relativas de percepción entre dos colores en el espacio L*a*b* se pueden aproximar tratando cada color como un punto en un espacio tridimensional, con tres componentes: L *, a *, b * y tomando la distancia entre ellos.

Conversiones RGB y CMYK
No existen fórmulas sencillas para la conversión entre valores RGB o CMYK y L*a*b*, ya que los modelos de color RGB y CMYK dependen del dispositivo. Los valores RGB o CMYK deben ser transformados a un espacio de color absoluto específico, tal como sRGB o RGB de Adobe. Estos espacios serán dependientes del dispositivo, a diferencia de los datos resultantes de la transformación, permitiendo que estos datos sean transformados al espacio de color CIE 1931 y luego en L*a*b*.

Conversiones XYZ a CIE L*a*b* (CIELAB) y viceversa

[editar]Transformación directa


\begin{align}
  L^\star &= 116 f(Y/Y_n) - 16\\
  a^\star &= 500 \left[f(X/X_n) - f(Y/Y_n)\right]\\
  b^\star &= 200 \left[f(Y/Y_n) - f(Z/Z_n)\right]
\end{align}

donde

f(t) = \begin{cases} 
  t^{1/3} & \mbox{para } t > (\frac{6}{29})^3 \\
  \frac13 \left( \frac{29}{6} \right)^2 t + \frac{4}{29} & \mbox{para otro valor}
\end{cases}

Donde X_nY_n y Z_n son los valores triestímulo CIE XYZ del punto de blanco de referencia.
La división de la función f(t) en dos dominios se hace para prevenir una pendiente infinita en t=0. Se asume que la función f(t) sea lineal para un tiempo t=t0 y que coincide con la raíz cúbica de t para t=t0, tanto en valor como en pendiente. En otras palabras, esto se puede expresar como:


\begin{align}
  t_0^{1/3} &= a t_0 + b & \text{ (coincidencia en valor)}\\
  \tfrac13 t_0^{-2/3} &= a & \text{ (coincidencia en pendiente)}
\end{align}

El valor de b fue ajustado a 16/116. Las anteriores ecuaciones pueden ser resueltas para a y t0:
\begin{align}
  a &= \tfrac13\delta^{-2} &= 7.787037\ldots\\
  t_0 &= \delta^3 &= 0.008856\ldots
\end{align}
donde δ = 6/29. Nótese que 16/116=2\delta/3

Transformación inversa
La transformación inversa es como sigue, con \delta=6/29 como se mencionó antes:
\begin{align}
  Y &= Y_n f^{-1}\left(\textstyle{\frac{1}{116}}\left(L^*+16\right)\right)\\
  X &=  X_n f^{-1}\left(\textstyle{\frac{1}{116}}\left(L^*+16\right) + \textstyle{\frac{1}{500}}a^*\right)\\
  Z &=  Z_n f^{-1}\left(\textstyle{\frac{1}{116}}\left(L^*+16\right) - \textstyle{\frac{1}{200}}b^*\right)\\
\end{align}

Conversiones XYZ a CIELUV y viceversa


Transformación Inversa


La Transformada desde (u',v') a (x,y) es:
x = 27u' / ( 18u' - 48v' + 36 )\,
y = 12v' / ( 18u' - 48v' + 36 )\,.

La Transformación de CIELUV a XYZ se lleva a cabo como sigue:


u' = u^* / ( 13L^*) + u_n\,
v' = v^* / ( 13L^* ) + v_n\,
Y = Y_n(( L^* + 16 ) / 116 )^3\,
X = - 9Yu' / (( u' - 4 ) v' - u'v' )\,
Z = ( 9Y - 15v'Y - v'X ) / 3v'\,



Espacio de Color de Hunter Lab
La variable L es una correlación de la luminosidad, y es calculada a partir del valor Y triestímulo usando la Aproximación de Priest para el valor de Munsell:
L=100\sqrt{\frac{Y}{Yn}}
donde Yn es el valor Y tri-estímulo de un objeto blanco específico. Para aplicaciones de color de superficie, el objeto blanco específico generalmente es (aunque no siempre) un material hipotético con reflectancia unitaria que cumple con la Ley de Lambert-Beer. El resultado es que el valor de L estará comprendido en una escala entre 0 (negro) y 100 (blanco); aproximadamente 10 veces el valor de Munsell. Nótese, sin embargo, que una luminosidad de 50 no se produce por un valor Y de 50, sino de 25.
Las ecuaciones que siguen muestran los valores a y b, los cuales son los valores de los denominados ejes de colores complementarios. que representan aproximadamente los componentes de rojo (positivo) y verde (negativo) y se calculan de esta manera:
a=K_a\left(\frac{\frac{X}{X_n}-\frac{Y}{Y_n}} {\sqrt{\frac{Y}{Y_n}}}\right)
en la cual K_a es un coeficiente que depende de la fuente luminosa (para D65, K_a es 172,30; ver la fórmula aproximada más adelante) y Xn es el valor triestímulo del objeto blanco especificado.
El valor b, es positivo para los amarillos y negativo para las tonalidades azules y se calcula así:
b=K_b\left(\frac{\frac{Y}{Yn}-\frac{Z}{Zn}}{\sqrt{\frac{Y}{Yn}}}\right)
K_b es un coeficiente que también depende de la fuente luminosa (para D65, K_b es 67,20) y Zn es el valor triestímulo Z del objeto blanco especificado.3
Ambos valores serán cero para los objetos que tienen idénticas coordenadas de cromaticidad a los objetos blancos específicos. Por lo general, este es el caso de los colores neutrales.

Fórmulas Aproximadas para Ka y Kb


En la versión anterior del espacio de color de Hunter Lab, K_a valía 175 y K_b, 70. Al parecer, Hunter Lab descubrió que un mejor acuerdo se podría obtener con otras mediciones de diferencia de color, como CIELAB, permitiendo que estos coeficientes dependan del alumbrado. Las fórmulas aproximadas son:
K_a\approx\frac{175}{198.04}(X_n+Y_n)
K_b\approx\frac{70}{218.11}(Y_n+Z_n)
que dan lugar a los valores originales de la iluminación C, que fue la que se usó originalmente en el espacio de color Lab.

El Espacio de Color Hunter Lab como un Espacio de color de valencia cromática de Adams


Los espacios de color de valencia cromática de Adams están basados en dos elementos: una escala relativa de luminosidad uniforme, y una escala relativa de cromaticidad uniforme. Si se toma la aproximación de Priest de la escala de luminosidad uniforme respecto al valor de la escala de Munsell, ésta podría ser expresada en notación moderna como sigue:
L=100\sqrt{\frac{Y}{Yn}}
y como las coordenadas de cromaticidad uniforme:
c_a=\frac{\frac{X}{Xn}} {\frac{Y}{Yn}}-1=\frac{\frac{X}{Xn}-\frac{Y}{Yn}}{\frac{Y}{Yn}}
c_b=k_e\left(1-\frac{Z/Zn}{Y/Yn}\right)=k_e\frac{Y/Yn-Z/Zn}{Y/Yn}
donde k_e es un coeficiente de ajuste, se obtienen los valores de los dos ejes cromáticos:
a=K\cdot L\cdot c_a=K\cdot 100\sqrt{Y/Yn}\frac{X/Xn-Y/Yn}{Y/Yn}=K\cdot 100\frac{X/Xn-Y/Yn}{\sqrt{Y/Yn}}
y
b=K\cdot L\cdot c_b=K\cdot k_e\cdot 100\sqrt{Y/Yn}\frac{Y/Yn-Z/Zn}{Y/Yn}=K\cdot k_e\cdot 100\frac{Y/Yn-Z/Zn}{\sqrt{Y/Yn}}
la cual es idéntica a las fórmulas de Hunter Lab suministradas anteriormente si se elige a K=K_a/100 y k_e=K_b/K_a. Por lo tanto, el espacio de color Hunter Lab es un espacio de color de valencia cromática de Adams.












martes, 12 de febrero de 2013

Modelo de Color HSV

Espacio de color HSV como una rueda de color.

El modelo HSV (del inglés Hue, Saturation, Value – Matiz, Saturación, Valor), también llamado HSB (Hue, Saturation, Brightness – Matiz, Saturación, Brillo), define un modelo de color en términos de sus componentes.

Historia
El modelo HSV fue creado en 1978 por Alvy Ray Smith. Se trata de una transformación no lineal del espacio de color RGB, y se puede usar en progresiones de color. Nótese que HSV es lo mismo que HSB pero no que HSL o HSI.

Uso
Cono de colores del espacio HSV


Es común que deseemos elegir un color adecuado para alguna de nuestras aplicaciones, cuando es así resulta muy útil usar la ruleta de color HSV. En ella el matiz se representa por una región circular; una región triangular separada, puede ser usada para representar la saturación y el valor del color. Normalmente, el eje horizontal del triángulo denota la saturación, mientras que el eje vertical corresponde al valor del color. De este modo, un color puede ser elegido al tomar primero el matiz de una región circular, y después seleccionar la saturación y el valor del color deseados de la región triangular.

Características
Constituyentes en coordenadas cilíndricas:

Matiz:
Se representa como un grado de ángulo cuyos valores posibles van de 0 a 360° (aunque para algunas aplicaciones se normalizan del 0 al 100%). Cada valor corresponde a un color. Ejemplos: 0 es rojo, 60 es amarillo y 120 es verde.
De forma intuitiva se puede realizar la siguiente transformación para conocer los valores básicos RGB:
Disponemos de 360 grados dónde se dividen los 3 colores RGB, eso da un total de 120º por color, sabiendo esto podemos recordar que el 0 es rojo RGB(1, 0, 0), 120 es verde RGB(0, 1, 0) y 240 es azul RGB(0, 0, 1). Para colores mixtos se utilizan los grados intermedios, el amarillo, RGB(1, 1, 0) está entre rojo y verde, por lo tanto 60º. Se puede observar como se sigue la secuencia de sumar 60 grados y añadir un 1 o quitar el anterior:
·         0º = RGB(1, 0, 0)
·         60º = RGB(1, 1, 0)
·         120º = RGB(0, 1, 0)
·         180º = RGB(0, 1, 1)
·         240º = RGB(0, 0, 1)
·         300º = RGB(1, 0, 1)
·         360º = 0º
Esta transformación permite saber los tonos de matices de colores puros que contienen alguna cantidad (o ninguna) de los colores R, G y B. Para el color blanco se puede poner cualquier color y saturación, siempre que se establezca el valor (de luminosidad) máximo. Asimismo, para el color negro se puede poner cualquier color y saturación, siempre que se ponga un valor de 0.

Saturación:
Se representa como la distancia al eje de brillo negro-blanco. Los valores posibles van del 0 al 100%. A este parámetro también se le suele llamar "pureza" por la analogía con la pureza de excitación y la pureza colorimétrica de la colorimetría. Cuanto menor sea la saturación de un color, mayor tonalidad grisácea habrá y más decolorado estará. Por eso es útil definir la insaturación como la inversa cualitativa de la saturación.

Graduaciones de saturación en el modelo HSV
matiz 100% puro
75% de saturación
saturación media
25% de saturación
0 de saturación



Para calcular la saturación, simplemente divida el croma por el máximo croma para ese valor.






Valor: 
Representa la altura en el eje blanco-negro. Los valores posibles van del 0 al 100%. 0 siempre es negro. Dependiendo de la saturación, 100 podría ser blanco o un color más o menos saturado.

Transformaciones

Transformación RGB a HSV: 

Sea MAX el valor máximo de los componentes (RGB), y MIN el valor mínimo de esos mismos valores, los componentes del espacio HSV se pueden calcular como:


















Transformación HSV a RGB: 














Modelo de color HSL


El modelo HSL (del inglés HueSaturationLightness – MatizSaturaciónLuminosidad), que es similar a HSV o HSI (del inglés HueSaturationIntensity – MatizSaturaciónIntensidad), define un modelo de color en términos de sus componentes constituyentes. El modelo HSL se representa gráficamente como un cono doble o un doble hexágono. Los dos vértices en el modelo HSL se corresponden con el blanco y el negro, el ángulo se corresponde con el matiz, la distancia al eje con la saturación y la distancia al eje blanco-negro se corresponde a la luminancia. Como los modelos HSI y el HSV, es una deformación no lineal del espacio de color RGB.

Saturación
Para calcular la saturación, simplemente divida el croma por el mayor croma para esa luminosidad.






Luminosidad
En este modelo, la luminosidad se define como el promedio entre el mayor y el menor componente de color RGB. Esta definición pone los colores primarios y secundarios en un plano que pasa a mitad de camino entre el blanco y el negro. El sólido de color resultante es un cono doble similar al de Ostwald.




Conversión desde RGB a HSL

Los valores (RGB) deben ser expresados como números del 0 al 1. MAX equivale al máximo de los valores (RGB), y MIN equivale al mínimo de esos valores. La fórmula puede ser escrita como: 














Comparación entre HSL y HSV
HSL es similar al modelo HSV pero refleja mejor la noción intuitiva de la saturación y la luminancia como dos parámetros independientes, y por tanto es un modelo más adecuado para los artistas. La especificación de las hojas de estilo en cascada (CSS) en su versión 3 prefieren HSL porque es simétrico al eje luz-oscuridad, lo que no sucede con el modelo HSV ("Advantages of HSL are that it is symmetrical to lightness and darkness (which is not the case with HSV for example)..."). Significa que:
·         En HSL, la componente de la saturación va desde el completamente saturado hasta el gris equivalente, mientras que en HSV, con V al máximo, va desde el color saturado hasta el blanco, lo que no es muy intuitivo.


                      
Graduaciones de saturación en el modelo HSL
matiz 100% puro
75% de saturación
saturación media
25% de saturación
0 de saturación


          
Graduaciones de saturación en el modelo HSV
matiz 100% puro
75% de saturación
saturación media
25% de saturación
0 de saturación

·    La luminancia en HSL siempre va desde el negro hasta el blanco pasando por la tonalidad deseada, mientras que en HSV la componente V se queda a mitad camino, entre el negro y la tonalidad escogida.
En las aplicaciones de tratamiento de color, los modelos HSV y HSL se representan como una área lineal o circular para el matiz y la saturación; y un área bidimensional, como un cuadrado o triángulo, para el valor/luminancia. En esta representación las diferencias entre HSV y HSL son irrelevantes. Sin embargo, algunas aplicaciones permiten escoger el color por medio de deslizadores lineales o entradas numéricas. En estos casos solo se usa uno de los dos modelos, comúnmente HSV. Algunos ejemplos:

·     Aplicaciones que usan HSV:

· Apple Mac OS X system color picker (disco de color para H/S y un deslizador para V)
·      The GIMP2
·      Xara X
·      Paint.NET (disco de color para H/S y deslizador para V)

·         Aplicaciones que usan HSL:

·      La especificación CSS3
·      Inkscape (desde la versión 0.42)
·      Macromedia Studio
·      Microsoft Windows system color picker (y MSPaint)
·      Paint Shop Pro

·         Aplicaciones que utilizan HSV y HSL:

·      Las aplicaciones gráficas de Adobe (IllustratorPhotoshop, y otros)
.  Pixel image editor (desde la beta 5)