Main Content

labeloverlay

Superponer regiones de una matriz de etiquetas en una imagen 2D

Descripción

ejemplo

B = labeloverlay(A,L) fusiona la imagen de entrada, A, con un color diferente para cada etiqueta distinta de cero en la matriz de etiquetas L. La función labeloverlay no fusiona los píxeles del fondo con un color.

ejemplo

B = labeloverlay(A,BW) fusiona la imagen de entrada con un color donde la máscara BW es true. La función labeloverlay no fusiona los píxeles del fondo (etiquetados como false) con un color.

B = labeloverlay(A,C) fusiona la imagen de entrada con un color diferente para cada etiqueta en la matriz categórica C. La función labeloverlay no fusiona los píxeles de la categoría <undefined> con un color.

ejemplo

B = labeloverlay(___,Name,Value) calcula la imagen superpuesta fusionada, B, utilizando pares Name,Value para controlar aspectos del cálculo.

Ejemplos

contraer todo

Lea una imagen y luego segméntela utilizando la función superpixels.

A = imread('kobi.png');
[L,N] = superpixels(A,20);

Fusione los resultados de la segmentación con la imagen original. Muestre la imagen fusionada.

B = labeloverlay(A,L);
imshow(B)

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

Lea una imagen en escala de grises y muéstrela.

A = imread('coins.png');
imshow(A)

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

Cree una máscara utilizando el umbral binario.

t = graythresh(A);
BW = imbinarize(A,t);
imshow(BW)

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

Fusione la máscara con la imagen original. Muestre la imagen fusionada.

B = labeloverlay(A,BW);
imshow(B)

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

Lea una imagen en escala de grises.

A = imread('coins.png');

Cree una máscara utilizando el umbral binario.

BW = imbinarize(A);

Cree etiquetas categóricas basadas en el contenido de la imagen.

stringArray = repmat("table",size(BW));
stringArray(BW) = "coin";
categoricalSegmentation = categorical(stringArray);

Fusione las etiquetas categóricas con la imagen original. Muestre la imagen fusionada.

B = labeloverlay(A,categoricalSegmentation);
imshow(B)

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

Fusione la imagen original con una sola etiqueta de la segmentación categórica. Cambie el mapa de colores, aumente la opacidad de la etiqueta y muestre el resultado.

figure
C = labeloverlay(A,categoricalSegmentation,'IncludedLabels',"coin", ...
    'Colormap','autumn','Transparency',0.25);
imshow(C)

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

Argumentos de entrada

contraer todo

Imagen de entrada, especificada como imagen 2D en escala de grises o color.

Tipos de datos: single | double | int8 | int16 | uint8 | uint16

Etiquetas, especificadas como una matriz de enteros no negativos.

Tipos de datos: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Máscara, especificada como una matriz lógica.

Tipos de datos: logical

Etiquetas de categoría, especificadas como una matriz categorical.

Tipos de datos: categorical

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.

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

Ejemplo: 'Colormap','hot' muestra las etiquetas en los colores del mapa de colores 'hot'.

Mapa de colores, especificado como el par separado por comas que consta de 'Colormap' y uno de estos valores:

  • Un mapa de colores de l por 3. Los tripletes RGB de cada fila del mapa de colores deben estar normalizados al intervalo [0, 1]. l es el número de etiquetas en la matriz de etiquetas L, máscara binaria BW o matriz categórica C.

  • Una cadena o vector de caracteres correspondiente a una de las entradas válidas de la función colormap. labeloverlay permuta el mapa de colores especificado para que las etiquetas adyacentes estén más diferenciadas.

Ejemplo: [0.2, 0.1, 0.5; 0.1, 0.5, 0.8]

Ejemplo: 'hot'

Tipos de datos: single | double | char | string

Etiquetas que mostrar en la imagen fusionada, especificadas como el par separado por comas que consta de 'IncludedLabels' y uno de los siguientes:

  • Un entero, o vector de enteros, en el intervalo [0, max(L(:))]. Por defecto, labeloverlay muestra todas las etiquetas distintas de cero.

  • Una cadena, o vector de cadenas, correspondiente a las etiquetas en la matriz categórica C. Por defecto, labeloverlay muestra todas las etiquetas categóricas definidas.

Cualquier etiqueta no incluida en el vector se considera el fondo. Por ejemplo, en el vector [1,3,4], el valor 2 se consideraría el fondo, si existiera como etiqueta.

Ejemplo: [1,3,4]

Ejemplo: ["flower","stem"]

Tipos de datos: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | string

Transparencia de las etiquetas mostradas, especificada como par separado por comas que consta de 'Transparency' y un número en el intervalo [0, 1].

  • Un valor de 0 hace que las etiquetas de color sean completamente opacas.

  • Un valor de 1 hace que las etiquetas de color sean completamente transparentes.

Tipos de datos: single | double

Argumentos de salida

contraer todo

Imagen fusionada, especificada como matriz numérica del mismo tamaño que A.

Tipos de datos: uint8

Historial de versiones

Introducido en R2017b