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.

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 de P píxeles de la imagen binaria BW, y produce otra imagen binaria, BW2. Esta operación se conoce como una apertura de área.

BW2 = bwareaopen(BW,P,conn) elimina todos los componentes conectados, donde conn especifica 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ón bwareaopen.

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 es 8 para imágenes 2D y 26 para imágenes 3D.

Valor

Significado

Conectividades bidimensionales

4

Los píxeles se consideran conectados si comparten bordes. 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

Los píxeles se consideran conectados si comparten bordes 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

Los píxeles se consideran conectados si comparten caras. 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, bwareaopen utiliza el valor por defecto conndef(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 valores 0 y 1. Los elementos con el valor 1 definen los entornos relativos al elemento central de conn. Tenga en cuenta que conn debe ser simétrica respecto de su elemento central. Para obtener más información, consulte Especificar conectividades personalizadas.

Tipos de datos: double | logical

Argumentos de salida

contraer todo

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

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

|