J'essaie de créer un programme qui peut compter le nombre de noyaux dans une telle image:
Ce que j'ai déjà fait est le suivant, étape par étape:
- Appliquer un filtre séquentiel alterné (fermeture et ouverture de l'image avec des éléments structurants progressivement plus gros)
- Appliquer une transformation de distance
- Appliquer la segmentation du bassin versant à l'aide de l'image transformée en distance pour détecter les minima
Ce qui donne le résultat suivant (où chaque couleur représente un nouveau noyau compté):
Comme nous pouvons le voir, il existe de nombreuses imperfections, en particulier des noyaux sur-comptés. Je dirais que la raison de ce problème est la façon dont j'ai imposé des minima pour la transformation du bassin versant (en utilisant la transformation de distance), mais je n'ai vraiment aucune autre idée d'imposer des minima dans ce cas.
Comme la transformation de distance génère des minima basés sur la rondeur des objets, j'aimerais connaître une meilleure alternative pour arrondir les noyaux que le filtre séquentiel alterné (en regardant l'image ci-dessus, nous pouvons en déduire que la plupart des "overcounts" provenaient de les noyaux moins arrondis). J'aimerais également savoir de meilleures façons d'imposer des minima pour la transformation du bassin versant.