Matlab elimina objetos pequeños de imágenes binarias bwareaopen
Matlab Removes Binary Image Small Objects Bwareaopen
Desde: https://ww2.mathworks.cn/help/images/ref/bwareaopen.html
Eliminar objetos pequeños de la imagen binaria
Sintaxis
|_+_|
|_+_|
Descripción
|_+_| = bwareaopen ( |_+_| , |_+_| )elimina todos los componentes conectados (objetos) que tienen menos de BW2 = bwareaopen(BW,P)
píxeles de la imagen binaria BW2 = bwareaopen(BW,P,conn)
, produciendo otra imagen binaria,
BW2
. Esta operación se conoce como apertura del área .
|_+_| , |_+_| , |_+_| )elimina todos los componentes conectados, donde BW
especifica la conectividad deseada.
Ejemplos de
Eliminar objetos en una imagen que contenga menos de 50 píxeles
Prueba este ejemplo
Leer imagen binaria.
|_+_|Elimine objetos que contengan menos de 50 píxeles usando P
función.
Muestra la imagen original junto a la imagen abierta morfológicamente.
|_+_|
Argumentos de entrada
P
- Imagen binaria
matriz real, no dispersa, lógica o numérica de cualquier dimensión
Imagen binaria, especificada como una matriz no dispersa, lógica o numérica de cualquier dimensión.
Ejemplo: |_+_|
Tipos de datos: |_+_| | |_+_| | |_+_| | |_+_| | |_+_| | |_+_| | |_+_| | |_+_| | |_+_| | |_+_| | |_+_|
BW
- Número máximo de píxeles en objetos
no negativo, de valor entero, escalar numérico
Número máximo de píxeles en los objetos, especificado como un escalar numérico no negativo con valores enteros.
Ejemplo: |_+_|
Tipos de datos: |_+_|
BW2
- Conectividad de píxeles
BW2 = bwareaopen( BW
| P
| conn
| conn
| BW = imread('text.png')
| Matriz de 3 por 3 por ... por 3 de bwareaopen
sy BW2 = bwareaopen(BW, 50)
s
BW
| P
| conn
| conn
| BW = imread('text.png')
| Matriz de 3 por 3 por ... por 3 de bwareaopen
sy BW2 = bwareaopen(BW, 50)
sConectividad de píxeles, especificada como uno de los valores de esta tabla. La conectividad predeterminada es imshowpair(BW,BW2,'montage')
para imágenes 2-D y BW
para imágenes 3-D.
Valor | Sentido | |
---|---|---|
Conectividad bidimensional | ||
4 conectados | Los píxeles están conectados si sus bordes se tocan. Dos píxeles contiguos son parte del mismo objeto si ambos están encendidos y conectados a lo largo de la dirección horizontal o vertical. | |
8 conectados | Los píxeles están conectados si sus bordes o esquinas se tocan. Dos píxeles contiguos son parte del mismo objeto si ambos están encendidos y conectados a lo largo de la dirección horizontal, vertical o diagonal. | |
Conectividad tridimensional | ||
6 conectados | Los píxeles están conectados si sus caras se tocan. Dos píxeles contiguos forman parte del mismo objeto si ambos están activados y conectados en:
| |
18 conectados | Los píxeles están conectados si sus caras o bordes se tocan. Dos píxeles contiguos son parte del mismo objeto si ambos están encendidos y conectados en
| |
26 conectados | Los píxeles están conectados si sus caras, bordes o esquinas se tocan. Dos píxeles contiguos son parte del mismo objeto si ambos están encendidos y conectados en
| |
Para dimensiones superiores, BW2 = bwareaopen(BW, 50)
utiliza el valor predeterminado single
(ndims (BW), 'máximo').
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 double
sy int8
s. Los elementos valorados en int16
definen ubicaciones de vecindad relativas al elemento central de int32
. Tenga en cuenta que int64
debe ser simétrico con respecto a su elemento central. Ver Especificación de conectividad personalizada para más información.
Tipos de datos: |_+_| | |_+_|
Argumentos de salida
uint8
- Imagen morfológicamente abierta
matriz lógica no dispersa de cualquier dimensión
Imagen que se ha abierto morfológicamente, especificada como una matriz lógica no dispersa del mismo tamaño que |_+_| .
Algoritmos
Los pasos básicos son
-
Determine los componentes conectados:
|_+_| -
Calcule el área de cada componente:
|_+_| -
Retire los objetos pequeños:
|_+_|