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 la estructura bwconncomp

Descripción

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

ejemplo

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

Ejemplos

contraer todo

Lea una imagen binaria en el espacio de trabajo. Muestre la imagen.

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

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

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,[])

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

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'));

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

Argumentos de entrada

contraer todo

Componentes conectados, especificados como estructura con cuatro campos.

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, en el que 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 la clase más pequeña que pueda representar el número de objetos, CC.NumObjects, como se muestra en la tabla.

ClaseIntervalo
'uint8'

CC.NumObjects 255

'uint16'

256 CC.NumObjects 65535

'uint32'

65536 CC.NumObjects 2321

'double'

CC.NumObjects 232

Tipos de datos: double | uint8 | uint16 | uint32

Historial de versiones

Introducido en R2009a