label2rgb
Convertir una matriz de etiquetas en una imagen RGB
Sintaxis
Descripción
convierte una imagen de etiqueta RGB
= label2rgb(L
)L
en una imagen de color RGB con el fin de visualizar las regiones etiquetadas. La función label2rgb
determina el color que debe asignarse a cada objeto en función del número de objetos de la matriz de etiquetas. La función label2rgb
elige los colores de toda la gama del mapa de colores.
le permite especificar que la función devuelva una lista de colores únicos en lugar de una imagen RGB.RGB
= label2rgb(___,"OutputFormat",outputFormat
)
Ejemplos
Usar el color para resaltar los elementos en la matriz de etiquetas
Lea una imagen y muéstrela.
I = imread('rice.png');
imshow(I)
Cree una matriz de etiquetas a partir de la imagen.
BW = imbinarize(I); CC = bwconncomp(BW); L = labelmatrix(CC);
Convierta la matriz de etiquetas en una imagen RGB, utilizando los ajustes predeterminados.
RGB = label2rgb(L); figure imshow(RGB)
Convierta la matriz de etiquetas en una imagen RGB, especificando parámetros opcionales. Este ejemplo utiliza el mapa de colores 'spring'
, establece los píxeles de fondo en el color cian, y aleatoriza la forma de asignar los colores a las etiquetas.
RGB2 = label2rgb(L,'spring','c','shuffle'); figure imshow(RGB2)
Argumentos de entrada
L
— Imagen de la etiqueta
Matriz de enteros no negativos | matriz categórica
Imagen de la etiqueta de regiones contiguas, especificada como uno de los siguientes.
Una matriz de enteros no negativos. Los píxeles etiquetados como
0
son el fondo. Los píxeles etiquetados como1
forman un objeto; los píxeles etiquetados como2
forman un segundo objeto; y así sucesivamente. Puede obtener una imagen de etiqueta numérica a partir de funciones de etiquetado comowatershed
olabelmatrix
.Una matriz categórica.
Tipos de datos: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| categorical
cmap
— Mapa de colores
"jet"
(predeterminado) | Matriz de c por 3 | función de mapa de colores | Identificador
Mapa de colores que utilizar en la imagen RGB
en color generada, especificado con uno de los siguientes.
Valor | Descripción |
---|---|
Matriz de c por 3 del tipo de datos double | Matriz de mapa de colores que especifica c colores, cada uno como un triplete RGB. c debe ser mayor o igual que el número de etiquetas, numlabels, en la matriz de etiquetas Si c es mayor que numlabels, |
función de mapa de colores | Nombre de una función de mapa de colores de MATLAB®, como |
identificador de mapas de colores | Identificador de una función de mapa de colores, como |
zerocolor
— Color de relleno
[1 1 1]
(blanco) (predeterminado) | Vector de 3 elementos | "b"
| "c"
| "g"
Color de relleno, especificado como un vector de 3 elementos que representa un triplete RGB o una de las siguientes abreviaturas de color para imágenes de etiquetas numéricas. label2rgb
aplica el color de relleno a la etiqueta 0
para las imágenes de etiquetas numéricas o a la etiqueta <undefined>
para las imágenes de etiquetas categóricas.
Valor | Color |
---|---|
"b" | Azul |
"c" | Cian |
"g" | Verde |
"k" | Negro |
"m" | Magenta |
"r" | Rojo |
"w" | Blanco |
"y" | Amarillo |
order
— Orden de los colores
"noshuffle"
(predeterminado) | "shuffle"
Orden de los colores, especificado como "noshuffle"
o "shuffle"
. El orden "noshuffle"
ordena los colores del mapa de colores para etiquetar las regiones de la matriz en orden numérico. El orden "shuffle"
asigna los colores del mapa de colores de forma pseudoaleatoria.
outputFormat
— Formato de salida
"image"
(predeterminado) | "triplets"
Formato de salida de los datos RGB devueltos en RGB
, especificado como uno de los siguientes.
"image"
: devuelve una imagen RGB. Si el tamaño de la matriz de etiquetas de entradaL
esM
porN
, el tamaño de la imagen RGB de salida esM
porN
por 3."triplets"
: devuelve una lista de colores RGB. El tamaño de la salida es una matriz deC
por 3 que contiene un triplete RGB para cada una de las etiquetasC
de la matriz de etiquetas de entrada.
Argumentos de salida
RGB
— Datos de RGB
Matriz numérica
Datos de RGB, devueltos como una matriz numérica.
Tipos de datos: uint8
Capacidades ampliadas
Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.
Notas y limitaciones de uso:
label2rgb
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.Las imágenes de entrada de etiqueta de tipo de datos categóricos no son compatibles.
Al generar código, para obtener los mejores resultados, utilice la sintaxis estándar
RGB = label2rgb(L,cmap,zerocolor,order)
:Envíe al menos dos argumentos de entrada: la matriz de etiquetas
L
y la matriz de mapa de colores,cmap
.cmap
debe ser una matriz de c por 3 de tipo de datosdouble
. No puede especificar el nombre de una función de mapa de colores MATLAB o un identificador de función de una función de mapa de colores.Si establece el color de fondo
zerocolor
al mismo color que una de las regiones,label2rgb
no emitirá una advertencia.Si proporciona un valor para
order
, debe ser"noshuffle"
.
Generación de código de GPU
Genere código CUDA® para GPU NVIDIA® mediante GPU Coder™.
Notas y limitaciones de uso:
Las imágenes de entrada de etiqueta de tipo de datos categóricos no son compatibles.
Al generar código, para obtener los mejores resultados, utilice la sintaxis estándar
RGB = label2rgb(L,cmap,zerocolor,order)
:Envíe al menos dos argumentos de entrada: la matriz de etiquetas
L
y la matriz de mapa de colores,cmap
.cmap
debe ser una matriz de c por 3 de tipo de datosdouble
. No puede especificar el nombre de una función de mapa de colores MATLAB o un identificador de función de una función de mapa de colores.Si establece el color de fondo
zerocolor
al mismo color que una de las regiones,label2rgb
no emitirá una advertencia.Si proporciona un valor para
order
, debe ser"noshuffle"
.
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 antes de R2006aR2022b: Generar código CUDA utilizando GPU Coder
Ahora label2rgb
es compatible con la generación de código optimizado CUDA® (requiere GPU Coder™).
R2021b: Compatibilidad con entornos basados en hilos
Ahora label2rgb
es compatible con los entornos basados en hilos.
Consulte también
bwconncomp
| bwlabel
| bwlabeln
| colormap
| ismember
| labelmatrix
| watershed
Abrir ejemplo
Tiene una versión modificada de este ejemplo. ¿Desea abrir este ejemplo con sus modificaciones?
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)