Main Content

rgb2lab

Convertir RGB a L*a*b* CIE 1976

Descripción

ejemplo

lab = rgb2lab(RGB) convierte valores RGB en valores L*a*b* CIE 1976.

ejemplo

lab = rgb2lab(RGB,Name,Value) especifica opciones de conversión adicionales, como el espacio de color de la imagen RGB, utilizando uno o más argumentos de par nombre-valor.

Ejemplos

contraer todo

Utilice rgb2lab para convertir el valor blanco RGB a L*a*b*.

rgb2lab([1 1 1])
ans = 1×3

  100.0000         0    0.0000

Convierta un valor de color de Adobe RGB (1998) a L*a*b* utilizando el parámetro ColorSpace.

rgb2lab([.2 .3 .4],'ColorSpace','adobe-rgb-1998')
ans = 1×3

   30.1783   -5.6902  -20.8223

Utilice rgb2lab para convertir un color RGB a L*a*b* utilizando el blanco de referencia D50.

rgb2lab([.2 .3 .4],'WhitePoint','d50')
ans = 1×3

   31.3294   -4.0732  -18.1750

Lea una imagen RGB en el espacio de trabajo.

rgb = imread('peppers.png');

Convierta la imagen RGB al espacio de color L*a*b*.

lab = rgb2lab(rgb);

Muestre el componente L* de la imagen L*a*b*.

imshow(lab(:,:,1),[0 100])

Figure contains an axes object. The axes object contains an object of type image.

Argumentos de entrada

contraer todo

Valores de color RGB que se desea convertir, especificados como una matriz numérica en uno de estos formatos.

  • Mapa de colores de c por 3. Cada fila especifica un valor de color RGB.

  • Imagen de m por n por 3

  • Pila de imágenes de m por n por 3 por p

Tipos de datos: single | double | uint8 | uint16

Argumentos de par nombre-valor

Especifique pares de argumentos opcionales como Name1=Value1,...,NameN=ValueN, donde Name es el nombre del argumento y Value es el valor correspondiente. Los argumentos de nombre-valor deben aparecer después de otros argumentos. Sin embargo, el orden de los pares no importa.

Ejemplo: lab = rgb2lab([0.25 0.40 0.10],WhitePoint="d50")

En las versiones anteriores a la R2021a, utilice comas para separar cada nombre y valor, y encierre Name entre comillas.

Ejemplo: lab = rgb2lab([0.25 0.40 0.10],"WhitePoint","d50")

Espacio de color de los valores de entrada RGB, especificados como "srgb", "adobe-rgb-1998", "prophoto-rgb" o "linear-rgb". Si especifica "linear-rgb", rgb2lab asume que los valores de entrada RGB son valores sRGB linealizados.

Tipos de datos: string | char

Punto blanco de referencia, especificado como vector de 1 por 3 o uno de los iluminantes estándar CIE que aparecen en la tabla.

ValorPunto blanco
"a"

Iluminante estándar CIE A: [1.0985, 1.0000, 0.3558]. Simula la luz típica doméstica de filamento de tungsteno con una temperatura de color correlacionada de 2856 K.

"c"Iluminante estándar CIE C: [0.9807, 1.0000, 1.1822]. Simula la luz de día media o del cielo del Norte con una temperatura de color correlacionada de 6774 K. Obsoleto por la CIE.
"e"Radiador equienergético: [1.000, 1.000, 1.000]. Útil como referencia teórica.
"d50"Iluminante estándar CIE D50: [0.9642, 1.0000, 0.8251]. Simula la luz de día cálida al amanecer o al atardecer con una temperatura de color correlacionada de 5003 K. También se conoce como luz del horizonte.

"d55"

Iluminante estándar CIE D55: [0.9568, 1.0000, 0.9214]. Simula la luz de media mañana o media tarde con una temperatura de color correlacionada de 5500 K.

"d65"Iluminante estándar CIE D65: [0.9504, 1.0000, 1.0888]. Simula la luz de mediodía con una temperatura de color correlacionada de 6504 K.
"icc"Iluminante del espacio de color de conexión (PCS) utilizado en perfiles ICC. Aproximación de [0.9642, 1.000, 0.8249] que utiliza números de 32 bits con signo, de punto fijo, con 16 bits fraccionarios. Valor real: [31595,32768, 27030]/32768.

Tipos de datos: single | double | string | char

Argumentos de salida

contraer todo

Valores de color L*a*b* convertidos, devueltos como arreglo numérico del mismo tamaño que la entrada. El tipo de salida es double a no ser que el tipo de entrada sea single, en cuyo caso el tipo de salida es también single.

AtributoDescripción
L*Luminancia o brillo de la imagen. Los valores están en el rango [0, 100], donde 0 especifica el negro y 100 especifica el blanco. A medida que aumenta L*, los colores se vuelven más brillantes.
a*Cantidad de tonos rojos o verdes en la imagen. Un valor positivo grande de a* se corresponde con el rojo/magenta. Un valor negativo grande de a* se corresponde con el verde. A pesar de que no hay un solo rango para a*, los valores se sitúan habitualmente en el rango [-100, 100] o [-128, 127].
b*Cantidad de tonos amarillos o azules en la imagen. Un valor positivo grande de b* se corresponde con el amarillo. Un valor negativo grande de b* se corresponde con el azul. A pesar de que no hay un solo rango para b*, los valores se sitúan habitualmente en el rango [-100, 100] o [-128, 127].

Tipos de datos: double | single

Sugerencias

  • Si especifica el espacio de color de entrada RGB como "linear-rgb", rgb2lab asume que los valores de entrada RGB son valores sRGB linealizados. Si, en su lugar, desea que el espacio de color de entrada sea Adobe RGB (1998) linealizado, puede utilizar la función lin2rgb.

    Por ejemplo, para convertir una imagen de Adobe RGB (1998) linealizado RGBlinadobe al espacio de color L*a*b* CIE 1976, realice la conversión en dos pasos:

    RGBadobe = lin2rgb(RGBlinadobe,"ColorSpace","adobe-rgb-1998");
    LAB = rgb2lab(RGBadobe,"ColorSpace","adobe-rgb-1998");
    

Capacidades ampliadas

Historial de versiones

Introducido en R2014b

expandir todo