bwareaopen
Eliminar objetos pequeños de una imagen binaria
Descripción
Ejemplos
Eliminar objetos en imágenes que contienen menos de 50 píxeles
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')
Argumentos de entrada
BW
— Imagen binaria
Arreglo lógico | Arreglo numérico
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
P
— Número máximo de píxeles en objetos
Entero no negativo
Número máximo de píxeles en objetos, especificado como entero no negativo.
Ejemplo: 50
Tipos de datos: double
conn
— Conectividad de píxeles
4
| 8
| 6
| 18
| 26
| Matriz de 3 por 3 por ... por 3 con valores 0
y 1
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 | ||
| 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. |
El píxel actual se muestra en gris. |
| 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. |
El píxel actual se muestra en gris. |
Conectividades tridimensionales | ||
| 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:
|
El píxel actual es el centro del cubo. |
| 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:
|
El píxel actual es el centro del cubo. |
| 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:
|
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 Specifying Custom Connectivities.
Tipos de datos: double
| logical
Argumentos de salida
BW2
— Imagen con apertura de área
Arreglo lógico
Imagen con apertura de área, devuelta como arreglo lógico del mismo tamaño que BW
.
Algoritmos
Los pasos básicos son los siguientes:
Determinar los componentes conectados:
CC = bwconncomp(BW, conn);
Calcular el área de cada componente:
S = regionprops(CC, 'Area');
Eliminar los objetos pequeños:
L = labelmatrix(CC); BW2 = ismember(L, find([S.Area] >= P));
Capacidades ampliadas
Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.
Notas y limitaciones de uso:
bwareaopen
es compatible con la generación de código C (requiere MATLAB® Coder™). Para obtener más información, consulte Code Generation for Image Processing.BW
ha de ser una imagen 2D binaria. Los arreglos de N dimensiones no son compatibles.conn
solo puede ser una de las conectividades bidimensionales (4 u 8) o una matriz de 3 por 3. Las conectividades 3D (6, 18 y 26) no son compatibles. Las matrices de tamaño 3 por 3 por ... por 3 no son compatibles.conn
debe ser una constante en tiempo de compilación.
Generación de código de GPU
Genere código CUDA® para GPU NVIDIA® mediante GPU Coder™.
Notas y limitaciones de uso:
BW
ha de ser una imagen 2D binaria. Los arreglos de N dimensiones no son compatibles.conn
debe ser una de las conectividades bidimensionales (4 u 8) o una matriz de 3 por 3. Las conectividades 3D (6, 18 y 26) no son compatibles. Las matrices de tamaño 3 por 3 por ... por 3 no son compatibles.conn
debe ser una constante en tiempo de compilación.
Historial de versiones
Introducido antes de R2006a
Consulte también
Abrir ejemplo
Tiene una versión modificada de este ejemplo. ¿Desea abrir este ejemplo con sus modificaciones?
Comando de MATLAB
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)