Main Content

Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Convertir de HSV a ESPACIO de Color RGB

El espacio de color HSV (Hue, Saturation, Value) es a menudo utilizado por personas que están seleccionando colores (por ejemplo, de pinturas o tintas) de una rueda de color o paleta, porque corresponde mejor a cómo las personas experimentan el color que el espacio de color RGB. Las funciones y convertir imágenes entre los espacios de color RGB y HSV.rgb2hsvhsv2rgb

Nota

y el software no es compatible con el espacio de color HSI (Hue, Saturación, Intensidad).MATLAB®Image Processing Toolbox™ Sin embargo, si desea trabajar con datos de color en términos de matiz, saturación e intensidad, el espacio de color HSV es muy similar. Otra opción es utilizar el espacio de color LCH (Luminosidad, Croma y Tono), que es una transformación polar del espacio de color CIE — ver .L*a*b*Espacios de color independientes del dispositivo

Como el tono varía de 0 a 1.0, los colores correspondientes varían de rojo a amarillo, verde, cian, azul, magenta, y de nuevo al rojo, por lo que en realidad hay valores rojos tanto en 0 y 1.0. Como la saturación varía de 0 a 1.0, los colores correspondientes (tonos) varían de insaturados (tonos de gris) a completamente saturados (sin componente blanco). A medida que el valor, o brillo, varía de 0 a 1.0, los colores correspondientes se vuelven cada vez más brillantes.

La figura siguiente ilustra el espacio de color HSV.

Ilustración del espacio de color HSV

Convertir imagen RGB a HSV y Explorar espacio de color HSV

Este ejemplo muestra cómo convertir una imagen RGB al espacio de color HSV utilizando la función.rgb2hsv A continuación, el ejemplo muestra los planos de color HSV independientes (hue, saturación y valor) de una imagen sintética.

Convertir una imagen RGB en una imagen HSV

Lea una imagen RGB en el espacio de trabajo.

RGB = imread('peppers.png');

Conviértalo en el espacio de color HSV.

HSV = rgb2hsv(RGB);

Mira más de cerca el espacio de color HSV

Para una inspección más detallada del espacio de color HSV, cree una imagen RGB sintética.

RGB=reshape(ones(64,1)*reshape(jet(64),1,192),[64,64,3]);

Convierta la imagen RGB sintética al espacio de color HSV.

HSV=rgb2hsv(RGB);

Divida la versión HSV de la imagen sintética en sus planos componentes: matiz, saturación y valor.

[h s v] = imsplit(HSV);

Muestre los planos de color HSV individuales con la imagen original.

montage({h, s, v, RGB}, 'BorderSize', 10);

Como se muestra en la imagen del plano de matiz de la figura anterior, los valores de matiz hacen una transición lineal de alta a baja. Si compara la imagen del plano de matiz con la imagen original, puede ver que los tonos de azul profundo tienen los valores más altos y los tonos de rojo profundo tienen los valores más bajos. (Como se indicó anteriormente, hay valores de rojo en ambos extremos de la escala de tono. Para evitar confusiones, la imagen de muestra utiliza solo los valores rojos desde el principio del rango de tono.)

La saturación se puede considerar como la pureza de un color. Como muestra la imagen del plano de saturación, los colores con la saturación más alta tienen los valores más altos y se representan como blanco. En el centro de la imagen de saturación, observe los diversos tonos de gris. Estos corresponden a una mezcla de colores; los cianes, verdes y tonos amarillos son mezclas de colores verdaderos. El valor es aproximadamente equivalente al brillo, y notará que las áreas más brillantes del plano de valor corresponden a los colores más brillantes de la imagen original.