Ajusta el grosor del puente entre las monedas y observa cómo la erosión morfológica separa los objetos para el conteo y la extracción de descriptores (área y cuadro delimitador).
1 píxel
En una línea de producción de monedas, es común que las piezas se toquen entre sí en la cinta transportadora, formando una única mancha conectada en la imagen — un conteo ingenuo erraría el total. La solución clásica combina operaciones morfológicas y análisis de conectividad: primero una erosión reduce o rompe conexiones frágiles entre objetos, y luego el etiquetado de componentes conectados separa cada objeto en una región distinta. Finalmente, descriptores geométricos (área y caja delimitadora) resumen cada componente encontrado.
Ver en Figura 4.39 una simulación de este EP.
Dimensiones de la imagen: leer los enteros \(L\) (filas) y \(C\) (columnas) de \(f\).
Dimensiones de \(B\): leer los enteros \(L_B\) (filas) y \(C_B\) (columnas) del elemento estructurante.
Elemento estructurante: leer la matriz \(B\), que contiene valores \(0\) o \(1\), fila a fila.
Datos: leer la matriz binaria \(f\) (valores \(0\) o \(1\)), fila a fila.
Separación: calcular \[ f_{ero} = f \ominus B \] usando erosión binaria plana (como en el EP04_04), eliminando conexiones frágiles entre objetos.
Etiquetado: sobre \(f_{ero}\), identificar componentes conectados usando conectividad definida por la vecindad \(B\). El etiquetado debe seguir un barrido raster: al encontrar un píxel \(1\) aún no etiquetado, asignar una nueva etiqueta entera creciente a partir de 1 y propagar esa etiqueta a toda la región conectada.
Descriptores: para cada etiqueta \(k\), calcular:
Salida: mostrar el número total de etiquetas y, a continuación, una línea por etiqueta en el formato: \[ k,\ \text{área},\ y_{min},\ x_{min},\ y_{max},\ x_{max} \]
| Concepto | Significado | Impacto |
|---|---|---|
| Puente fino | Conexión estrecha entre objetos | Puede ser eliminado por la erosión morfológica |
| Conectividad | Definida por el conjunto \[\mathcal{N}(y,x)\] | Determina qué píxeles pertenecen al mismo componente |
| Área | Número de píxeles por componente | Estimación directa del tamaño del objeto |
| Caja delimitadora | Extensión espacial de la etiqueta | Resumen geométrico del componente |
Entrada:
Salida:
Ajusta el grosor del puente entre las monedas y observa cómo la erosión morfológica separa los objetos para el conteo y la extracción de descriptores (área y cuadro delimitador).
%%writefile EP04_10.py
# Código PythonOverwriting EP04_10.py
TestSuite("EP04_10.py").run()✔️ EP04_10.cases ya existe en casos/
📋 4 caso(s) cargado(s) de casos/EP04_10.cases
🔍 Probando Python: EP04_10.py
⚠️ EP04_10.py: archivo vacío (menos de 3 líneas). Pruebas omitidas.