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.
fuente
Respuestas:
Existen numerosos artículos sobre cómo manejar el problema de sobresegmentación de la cuenca hidrográfica, pero creo que debería leer Métodos de segmentación de imágenes de celdas robustas (artículo científico de 2004 de Bengtsson et al).
Cubre varios métodos para segmentar imágenes celulares e incluye ejemplos del mundo real que muestran cómo manejar la sobresegmentación de la cuenca en imágenes de microscopía de fluorescencia similares a la suya (también tiene ejemplos de imágenes de campo brillante e imágenes de microscopía confocal). Utiliza semillas de la transformación de distancia, similar a su enfoque, y combina regiones con bordes débiles. El artículo se lee bien y los conceptos son bastante sencillos de implementar en Matlab.
Para un enfoque aún más actual, puede leer Un esquema de descomposición para objetos difusos 3D basado en la información de distancia difusa de Svensson. Utiliza un método similar al de Bengtsson et al, pero trabaja en la transformación de distancia difusa que proporciona una mejor representación de densidad para los objetos utilizados en el artículo.
fuente
Puede probar la "transformación máxima máxima", que es un método de reconstrucción morfológica. Detecta los puntos máximos dados un criterio de contraste que puede invertir e imponer. Se implementa en Matlab.
fuente