rgb2lab
Convertir RGB a L*a*b* CIE 1976
Descripción
Ejemplos
Convertir blanco RGB a L*a*b*
Utilice rgb2lab
para convertir el valor blanco RGB a L*a*b*.
rgb2lab([1 1 1])
ans = 1×3
100.0000 0 0.0000
Convertir un valor de color a L*a*b* especificando el espacio de color
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
Convertir color RGB a L*a*b* especificando el blanco de referencia
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
Convertir una imagen RGB a L*a*b* y mostrar el componente L*
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])
Argumentos de entrada
RGB
— Valores de color RGB
Arreglo numérico
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")
ColorSpace
— Espacio de color de los valores de entrada RGB
"srgb"
(predeterminado) | "adobe-rgb-1998"
| "prophoto-rgb"
| "linear-rgb"
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
WhitePoint
— Punto blanco de referencia
"d65"
(predeterminado) | "a"
| "c"
| "e"
| "d50"
| "d55"
| "icc"
| Vector de 1 por 3
Punto blanco de referencia, especificado como vector de 1 por 3 o uno de los iluminantes estándar CIE que aparecen en la tabla.
Valor | Punto blanco |
---|---|
"a" | Iluminante estándar CIE A: |
"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. |
| Iluminante estándar CIE D55: |
"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
lab
— Valores de color L*a*b* convertidos
Arreglo numérico
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
.
Atributo | Descripció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ónlin2rgb
.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
Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.
Notas y limitaciones de uso:
rgb2lab
es compatible con la generación de código C (requiere MATLAB® Coder™). Para obtener más información, consulte Code Generation for Image Processing.Cuando se genera código, todos los argumentos del vector de caracteres de entrada deben ser constantes en tiempo de compilación.
Generación de código de GPU
Genere código CUDA® para GPU NVIDIA® mediante GPU Coder™.
Notas y limitaciones de uso:
El argumento nombre-valor
ColorSpace
solamente es compatible con los valores"srgb"
,"adobe-rgb-1998"
y"linear-rgb"
.Cuando se genera código, todos los argumentos del vector de caracteres de entrada deben ser constantes en tiempo de compilación.
Entorno basado en subprocesos
Ejecute código en segundo plano con MATLAB® backgroundPool
o acelere código con Parallel Computing Toolbox™ ThreadPool
.
Esta función es totalmente compatible con los entornos basados en hilos. Para obtener más información, consulte Ejecutar funciones de MATLAB en un entorno basado en subprocesos.
Historial de versiones
Introducido en R2014bR2022b: Compatibilidad con el espacio de color ProPhoto (ROMM RGB)
Ahora rgb2lab
es compatible con el espacio de color ProPhoto (ROMM RGB), que tiene un espectro más amplio que los espacios de color sRGB y Adobe RGB 1998. Para utilizar el espacio de color ProPhoto, especifique el argumento nombre-valor ColorSpace
como "prophoto-rgb"
.
R2022b: Compatibilidad con entornos basados en hilos
Ahora rgb2lab
es compatible con los entornos basados en hilos.
Consulte también
Comando de MATLAB
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)