Modelo HSV

(Redirigido desde «Espacio de color HSV»)
HSV
Información sobre la plantilla
Triangulo HSV.png
Concepto:Espacio de color sobre las componentes de color: tinte, saturación y brillo.

Espacio de color HSV. Representación tridimensional del color basado en los componentes de tinte, matiz o tonalidad (hue, en inglés), saturación (saturation) y brillo o valor (value).

Fue definido en 1978 por Alvy Ray Smith.

A diferencia del modelo RGB ampliamente usado en los monitores, televisores, etc., si bien las coordenadas de aquel son euclideanas; el color HSV sigue una representación más parecida a las coordenadas cilíndricas. Además es una representación más cercana a la forma en que los humanos perciben los colores y sus propiedades, pues se agrupan las tonalidades de color, lo cual es distinto al caso RGB donde los colores no están necesariamente tan agrupados.

Se diferencia con HSL en el uso del componente de saturación.

Definición

El modelo de color HSV es una transformación no lineal del modelo RGB en coordenadas cilíndricas de manera que cada color viene definido por las siguientes dimensiones:

  • Tinte o matiz: Ángulo que representa el matiz, normalmente definido entre 0o y 360o.
  • Saturación: Nivel saturación del color, dado entre 0 y 1, 0 representa sin saturación alguna (blanco), hasta 1 que sería el matiz en toda su intensidad. Es común también darlo en percentiles 0%-100%.
  • Brillo: Nivel del brillo entre 0 y 1. 0 es negro; 1, blanco. Al igual que la saturación puede darse en porcientos entre 0% y 100%. De esta forma el 50% indica el nivel medio o normal del brillo del color.

Matiz

El matiz, al ser una representación circular, ha sido estructurada según la predominancia de una componente de color RGB. Por ejemplo, esta es la representación anular del tinte:

Rueda HSL.png

Ajustando a valores "normales" el brillo y la saturación, es decir 100% y 50% respectivamente.

Las amplitudes para cada tonalidad de color abarcan 120o. Por ejemplo los rojizos (255,0,0) se disponen a ambos lados de 0o, mientras los verdes (0,255,0) lo hacen alrededor de 120o y por último los tonos azules (0,0,255) se distribuyen alrededor de 240o.

Relación con el modelo RGB

Actualmente el modelo RGB suele representarse con 24 bits, en tres octetos: uno para la componente roja (Red), otro para el verde (Green) y el restante para el azul(Blue). De esta forma, cada componente de color básico tiene 256 valores posibles que tienen en 0 su valor de apagado y en 255 el valor más brillante, con intensidades graduales en los valores intermedios. De esta manera pueden representarse cada color con un punto (r,v,a) admitiéndose 2563=16 777 216 posibilidades, más de lo que el ojo humano puede distinguir y la representación geométrica del espacio RGB suele ser un cubo.

En contraste, el espacio de color HSV tiene la forma de un cilindro de diámetro y altura unitarios, donde cada punto de color viene dado por las coordenadas (t,s,b), iniciales de tinte, saturación y brillo. De modo que las transformaciones del sistema de coordenadas euclideanas a cilíndricas entre los espacios RGB y HSV se realizan mediante las operaciones:

  1. Se calculan el mínimo y el máximo de las tres componentes r,v,a normalizados: m=min(r,v,a)/255 y M=max(r,v,a)/255.
  2. d=M-m.
  3. Se obtiene el brillo que equivale al máximo porcentualizado b=100M.
  4. Si d = 0:
    1. t=s=0.
  5. Sino:
    1. Si M=0:
      1. s=0
    2. Sino:
      1. s=100d/M.
    3. Si el maximo valor es el componente rojo:
      1. Calculo Tinte Rojizo.gif
    4. Si el máximo valor es el componente verde:
      1. Calculo Tinte Verdoso.gif
    5. De lo contrario (el máximo es el azul):
      1. Calculo Tinte Azulado.gif

Mientras que a la inversa, el color (t,s,b) dado en HSV es equivalente al color (r,v,a) en RGB de 24 bits, se realizan mediante el procedimiento:

  1. Calcular las versiones normalizadas de s=s/100 y b=b/100.
  2. Determinar la parte entera H y fraccionaria h de t/60o.
  3. Obtener:
    1. p = b(1-s);
    2. q = b(1-sh);
    3. t1 = b(1-s(1-h)).
  4. Según los valores de H:
    1. Si H=0, (r,v,a)=255(b,t1,p).
    2. Si H=1, (r,v,a)=255(q,b,p).
    3. Si H=2, (r,v,a)=255(p,b,t1).
    4. Si H=3, (r,v,a)=255(p,q,b).
    5. Si H=4, (r,v,a)=255(t1,p,b).
    6. Si H=5, (r,v,a)=255(b,p,q).

Diferencias con HSL

Aunque los espacios HSV y HSL son transformaciones en coordenadas cilíndricas del modelo RGB y sus vectores sean muy similares, hay diferencias en la formulación de sus componentes desde el mismo color RGB que se traducen en cambios sustanciales. El principal elemento diferencial que se alude es el hecho de que en HSV la luminancia y la saturación son muy interdependientes, sucediendo que el mínimo nivel de saturación no produce el gris equivalente sino un color blanco que le resta el valor de intuitividad a la saturación.

Importancia

Al definirse en 1978, en pleno auge de la televisión en colores, por Alvy Ray Smith, se intentaba, a diferencia de los modelos RGB, YUV, YIQ, representar colores desde un punto de vista más próximo a la percepción humana. Si bien los otros modelos mencionados asistían eficientemente el problema tecnológico de la representación y trasmisión de imágenes en colores, las asociaciones entre colores que comúnmente suceden en la visión humana, quedaban fuera de los anteriores espacios de color. HSV viene a ser por tanto una importante herramienta para el humano que interactúa con las tecnologías de representación de color.

De hecho en las versiones antiguas de los telereceptores en colores se disponían de reguladores manuales para estas propiedades, actualmente se han definido en el ajuste de imagen junto al contraste y el brillo, incluyéndose configuraciones de fabricante para la representación de la imagen.

El desarrollo de las tecnologías de cómputo, tarjetas gráficas y las aplicaciones de procesamiento de imagen, de diseño asistido por computadoras, videojuegos han probado la utilidad de los modelos HSV y preferentemente del HSL para los humanos por su representación más intuitiva del color.

Veáse también

Fuentes

  1. Revista Giga. Número 4. Procesamiento de Imágenes 1ra parte. Páginas 31-35. La Habana, 2000.
  2. Documentación de la clase y módulo Color en la librería Pygame [1]. Versión 1.9.1.
  3. Documentación y código fuente del submódulo ImageColor en Python Imaging Library [2]. Versión 1.1.7.
  4. Modelo de color HSV en Wikipedia. Consultado el 15 de octubre de 2012.
  5. Modelo de color HSL en Wikipedia. Consultado el 15 de octubre de 2012.