Estoy tratando de crear un programa que pueda contar la cantidad de núcleos en una imagen de este tipo:
Lo que ya hice es lo siguiente, paso a paso:
- Aplique un filtro secuencial alterno (cerrando y abriendo la imagen con elementos estructurantes gradualmente más grandes)
- Aplicar una transformación de distancia
- Aplique segmentación de cuencas hidrográficas utilizando la imagen transformada a distancia para detectar mínimos
Lo que produce el siguiente resultado (donde cada color representa un nuevo núcleo contado):
Como podemos ver, hay muchas imperfecciones, específicamente, núcleos sobrecontados. Diría que la razón de ese problema es la forma en que impuse los mínimos para la Transformación de la Cuenca (usando la transformación de distancia), pero realmente no tengo otras ideas para imponer los mínimos en ese caso.
Como la Transformación de distancia genera mínimos basados en la redondez de los objetos, me gustaría conocer una mejor alternativa para redondear los núcleos que el Filtro secuencial alterno (mirando la imagen de arriba, podemos inferir que la mayoría de los "conteos excesivos" provienen de los núcleos menos redondeados). También me gustaría conocer mejores formas de imponer mínimos para la Transformación de la Cuenca.