Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

bwlabeln

Etiquete los componentes conectados en la imagen binaria

Descripción

ejemplo

L = bwlabeln(BW) Devuelve una matriz de etiquetas, que contiene etiquetas para los componentes conectados.LBW

L = bwlabeln(BW,conn) Devuelve una matriz de etiquetas, donde especifica la conectividad.conn

[L,n] = bwlabeln(___) también devuelve el número de objetos conectados encontrados.nBW

Ejemplos

contraer todo

Cree una imagen binaria simple de muestra 3-D.

BW = cat(3, [1 1 0; 0 0 0; 1 0 0],...             [0 1 0; 0 0 0; 0 1 0],...             [0 1 1; 0 0 0; 0 0 1])
BW =  BW(:,:,1) =       1     1     0      0     0     0      1     0     0   BW(:,:,2) =       0     1     0      0     0     0      0     1     0   BW(:,:,3) =       0     1     1      0     0     0      0     0     1  

Etiquete los componentes conectados en la imagen.

bwlabeln(BW)
ans =  ans(:,:,1) =       1     1     0      0     0     0      2     0     0   ans(:,:,2) =       0     1     0      0     0     0      0     2     0   ans(:,:,3) =       0     1     1      0     0     0      0     0     2  

Argumentos de entrada

contraer todo

Imagen binaria, especificada como una matriz numérica o lógica de cualquier dimensión. Para la entrada numérica, se consideran píxeles distintos de cero.on

Ejemplo: BW = imread('text.png');

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

Conectividad de píxeles, especificada como uno de los valores de esta tabla. La conectividad predeterminada es para imágenes en 2-D y para imágenes 3D.826

Valor

Significado

Two-Dimensional Connectivities

4-connected

Los píxeles se conectan si los bordes se tocan. Dos píxeles adyacentes forman parte del mismo objeto si están conectados y se conectan a lo largo de la dirección horizontal o vertical.

8-connected

Los píxeles se conectan si los bordes o las esquinas se tocan. Dos píxeles adyacentes forman parte del mismo objeto si están conectados y se conectan a lo largo de la dirección horizontal, vertical o diagonal.

Three-Dimensional Connectivities

6-conectado

Los píxeles se conectan si se tocan las caras. Dos píxeles adyacentes forman parte del mismo objeto si están conectados y se conectan en:

  • Una de estas direcciones: en, fuera, izquierda, derecha, arriba y abajo

18-conectado

Los píxeles se conectan si sus caras o aristas se tocan. Dos píxeles adyacentes forman parte del mismo objeto si están conectados en

  • Una de estas direcciones: en, fuera, izquierda, derecha, arriba y abajo

  • Una combinación de dos direcciones, como la derecha-abajo o en

26-conectado

Los píxeles se conectan si sus caras, aristas o esquinas se tocan. Dos píxeles adyacentes forman parte del mismo objeto si están conectados en

  • Una de estas direcciones: en, fuera, izquierda, derecha, arriba y abajo

  • Una combinación de dos direcciones, como la derecha-abajo o en

  • Una combinación de tres direcciones, como en-derecha-arriba o en-izquierda-abajo

Para cotas superiores, utiliza el valor predeterminadobwlabeln conndef(ndims(BW),'maximal').

La conectividad también se puede definir de una manera más general para cualquier dimensión especificando una matriz de 3 por 3 por...-por-3 de s y s.01 Los elementos con valor definen las ubicaciones de vecindad con respecto al elemento central de.1conn Tenga en cuenta que debe ser simétrica sobre su elemento central.conn Consulte para obtener más información.Especificación de Connectivities personalizadas

Tipos de datos: double | logical

Argumentos de salida

contraer todo

Label Matrix, devuelta como una matriz de enteros no negativos con el mismo tamaño que.BW Los píxeles etiquetados son el fondo.0 Los píxeles etiquetados componen un objeto; los píxeles etiquetados componen un segundo objeto; y así sucesivamente.12

Tipos de datos: double

Matriz de etiquetas de regiones contiguas, devuelta como una matriz 2-D de enteros no negativos de clase.double La región TH incluye todos los elementos que tienen valor.kLk El número de objetos y taladros representados por es igual a.Lmax(L(:)) Los elementos de valor cero de conforman el fondo.L

Tipos de datos: double

Número de objetos conectados en, devueltos como un entero no negativo.BW

Tipos de datos: double

Sugerencias

  • Las funciones y todos los componentes de proceso conectados para imágenes binarias. reemplaza el uso de y.bwlabelbwlabelnbwconncompbwconncompbwlabelbwlabeln Utiliza significativamente menos memoria y es a veces más rápido que las otras funciones.

    FunciónDimensión de entradaFormulario de salidaUso de memoriaConectividad
    bwlabel2-DMatriz de etiquetas con doble precisiónAlto4 u 8
    bwlabelnN-DMatriz de etiquetas de doble precisiónAltoCualquier
    bwconncompN-DEstructuraCCBajoCualquier
  • Para extraer entidades de una imagen binaria utilizando la conectividad predeterminada, simplemente pase directamente a, es decir, .regionpropsBWregionpropsregionprops(BW)

  • Para calcular una matriz de etiquetas con un tipo de datos más eficiente en memoria (por ejemplo, versus), utilice la función en la salida de:uint8doublelabelmatrixbwconncomp

    C = bwconncomp(BW); L = labelmatrix(CC);  CC = bwconncomp(BW,n); S = regionprops(CC);

Algoritmos

utiliza el siguiente procedimiento general:bwlabeln

  1. Escanee todos los píxeles de la imagen, asignando etiquetas preliminares a píxeles distintos de cero y registrando equivalencias de etiquetas en una tabla de búsqueda de Unión.

  2. Resuelva las clases de equivalencia utilizando el algoritmo de Unión-buscar.[1]

  3. Vuelva a etiquetar los píxeles en función de las clases de equivalencia resueltas.

Referencias

[1] Sedgewick, Robert, Algorithms in C, 3rd Ed., Addison-Wesley, 1998, pp. 11-20.

Introducido antes de R2006a