Main Content

bwareaopen

Eliminar objetos pequeños de una imagen binaria

Descripción

ejemplo

BW2= bwareaopen(BW,P)elimina todos los componentes conectados (objetos) que tienen menos dePpíxeles de la imagen binariaBW, y produce otra imagen binaria,BW2. Esta operación se conoce como unaapertura de área.

BW2= bwareaopen(BW,P,conn)elimina todos los componentes conectados, dondeconnespecifica la conectividad deseada.

Ejemplos

contraer todo

Lea una imagen binaria.

BW = imread('text.png');

Elimine los objetos que contienen menos de 50 píxeles utilizando la funciónbwareaopen.

BW2 = bwareaopen(BW, 50);

Muestre la imagen original junto a la imagen abierta morfológicamente.

imshowpair(BW,BW2,'montage')

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

Argumentos de entrada

contraer todo

Imagen binaria, especificada como arreglo lógico o numérico de cualquier dimensión.

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

Número máximo de píxeles en objetos, especificado como entero no negativo.

Ejemplo:50

Tipos de datos:double

Conectividad de píxeles, especificada como uno de los siguientes valores de la tabla. La conectividad por defecto es8para imágenes 2D y26para imágenes 3D.

Valor

Significado

Conectividades bidimensionales

4

洛杉矶像素se consideran conectados si compartenbordes. Dos píxeles contiguos forman parte del mismo objeto si ambos se encuentran y están conectados a lo largo de la dirección horizontal o vertical.

Center pixel connected to four pixels

El píxel actual se muestra en gris.

8

洛杉矶像素se consideran conectados si compartenbordes o vértices. Dos píxeles contiguos forman parte del mismo objeto si ambos se encuentran y están conectados a lo largo de la dirección horizontal, vertical o diagonal.

Center pixel connected to eight pixels

El píxel actual se muestra en gris.

Conectividades tridimensionales

6

洛杉矶像素se consideran conectados si compartencaras. Dos píxeles contiguos forman parte del mismo objeto si ambos se encuentran y están conectados a lo largo de:

  • Alguna de estas direcciones: adentro, afuera, izquierda, derecha, arriba y abajo

Center pixel connected to the faces of 6 pixels

El píxel actual es el centro del cubo.

18

Los píxeles se consideran conectados si sus caras o bordes se tocan. Dos píxeles contiguos forman parte del mismo objeto si ambos se encuentran y están conectados a lo largo de:

  • Alguna de estas direcciones: adentro, afuera, izquierda, derecha, arriba y abajo

  • Una combinación de dos direcciones, como derecha-abajo o adentro-arriba

Center pixel connected to the faces of 6 pixels and the edges of 12 pixels

El píxel actual es el centro del cubo.

26

Los píxeles se consideran conectados si sus caras, bordes o vértices se tocan. Dos píxeles contiguos forman parte del mismo objeto si ambos se encuentran y están conectados a lo largo de:

  • Alguna de estas direcciones: adentro, afuera, izquierda, derecha, arriba y abajo

  • Una combinación de dos direcciones, como derecha-abajo o adentro-arriba

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

Center pixel connected to the faces of 6 pixels, the edges of 12 pixels, and the corners of 8 pixels

El píxel actual es el centro del cubo.

En el caso de dimensiones más grandes,bwareaopenutiliza el valor por defectoconndef(ndims(BW),'maximal').

La conectividad puede definirse de una forma más general para cualquier dimensión especificando una matriz de 3 por 3 por ... por 3 de valores0y1. Los elementos con el valor1definen los entornos relativos al elemento central deconn. Tenga en cuenta queconndebe ser simétrica respecto de su elemento central. Para obtener más información, consulteSpecifying Custom Connectivities.

Tipos de datos:double|logical

Argumentos de salida

contraer todo

Imagen con apertura de área, devuelta como arreglo lógico del mismo tamaño queBW.

Algoritmos

Los pasos básicos son los siguientes:

  1. Determinar los componentes conectados:

    CC = bwconncomp(BW, conn);
  2. Calcular el área de cada componente:

    S = regionprops(CC,'Area');
  3. Eliminar los objetos pequeños:

    L = labelmatrix(CC); BW2 = ismember(L, find([S.Area] >= P));

Capacidades ampliadas

Historial de versiones

Introducido antes de R2006a

Consulte también

|