Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

labelmatrix

Crear una matriz de etiquetas a partir de objetos en componentes conectados

Descripción

Una matriz de etiquetas asigna valores enteros únicos a objetos o componentes conectados en una imagen binaria. Utilice una matriz de etiquetas para visualizar objetos diferenciados o componentes conectados.

L = labelmatrix(CC) crea una matriz de etiquetas, L, a partir de la estructura de componentes conectados CC.

ejemplo

Ejemplos

contraer todo

Lea una imagen binaria en el área de trabajo. Muestre la imagen.

BW = imread('text.png');
imshow(BW)

Calcule los componentes conectados con bwconncomp.

CC = bwconncomp(BW);

Cree una matriz de etiquetas utilizando labelmatrix. Cada etiqueta tiene un índice numérico único.

L = labelmatrix(CC);

Encuentre el valor máximo absoluto de la matriz de etiquetas. Este valor indica el número de objetos detectados, en este caso, 88.

numObjects = max(L(:))
numObjects = uint8
    88

Muestre la matriz de etiquetas como una imagen. Como el valor máximo de la etiqueta es mucho menor que el valor máximo del tipo de datos uint8, aumente el intervalo de visualización de la imagen para que las etiquetas estén más diferenciadas.

imshow(L,[])

Resulta difícil ver los objetos etiquetados con valores de etiqueta pequeños. Además, resulta complicado diferenciar objetos con valores de etiqueta comparables. Para facilitar la diferenciación de los distintos componentes conectados, muestre la matriz de etiquetas como una imagen RGB utilizando label2rgb y cambie el orden de los colores de las etiquetas.

imshow(label2rgb(L,'jet','k','shuffle'));

Argumentos de entrada

contraer todo

Componentes conectados, especificados como estructura con cuatro campos. Puede obtener una estructura de componentes conectados utilizando la función bwconncomp o bwpropfilt.

CampoDescripción
ConnectivityConectividad de los componentes conectados (objetos)
ImageSizeTamaño de la imagen binaria
NumObjectsNúmero de componentes conectados (objetos) en la imagen binaria
PixelIdxListArreglo de celdas de 1 por NumObjects donde el k-ésimo elemento del arreglo de celdas es un vector que contiene los índices lineales de los píxeles del k-ésimo objeto

Argumentos de salida

contraer todo

Matriz de etiquetas de regiones contiguas, devuelta como matriz de enteros no negativos. Los píxeles etiquetados como 0 son el fondo. Los píxeles etiquetados como 1 forman un objeto; los píxeles etiquetados como 2 forman un segundo objeto; y así sucesivamente.

El tamaño de L está determinado por el valor del campo CC.ImageSize. La clase de L depende del número de regiones contiguas. labelmatrix utiliza el tipo de datos más pequeño que pueda representar el número de objetos, CC.NumObjects, como se muestra en la tabla.

Tipo de datosIntervalo
uint8

CC.NumObjects ≤ 255

uint16

256 ≤ CC.NumObjects ≤ 65535

uint32

65536 ≤ CC.NumObjects ≤ 232 – 1

double

CC.NumObjects ≥ 232

Tipos de datos: double | uint8 | uint16 | uint32

Historial de versiones

Introducido en R2009a