Ich versuche ein Programm zu erstellen, das die Anzahl der Kerne in einem solchen Bild zählen kann:
Was ich bereits getan habe, ist Schritt für Schritt Folgendes:
- Wenden Sie einen alternierenden sequentiellen Filter an (Schließen und Öffnen des Bildes mit allmählich größeren Strukturierungselementen)
- Wenden Sie eine Entfernungstransformation an
- Wenden Sie eine Wasserscheidensegmentierung mit dem entfernungstransformierten Bild an, um Minima zu erkennen
Dies ergibt das folgende Ergebnis (wobei jede Farbe einen neuen gezählten Kern darstellt):
Wie wir sehen können, gibt es viele Unvollkommenheiten, insbesondere überzählte Kerne. Ich würde sagen, dass der Grund für dieses Problem die Art und Weise ist, wie ich Minima für die Wasserscheidetransformation (unter Verwendung der Entfernungstransformation) auferlegt habe, aber ich habe wirklich keine anderen Ideen, um in diesem Fall Minima aufzuerlegen.
Da die Entfernungstransformation Minima basierend auf der Rundheit von Objekten erzeugt, würde ich gerne eine bessere Alternative zum Aufrunden der Kerne als den alternierenden sequentiellen Filter kennen (wenn wir uns das Bild oben ansehen, können wir schließen, dass die meisten "Überzählungen" von stammen die weniger gerundeten Kerne). Ich würde auch gerne bessere Möglichkeiten kennen, um Minima für die Wasserscheidetransformation aufzuerlegen.
quelle
Antworten:
Es gibt zahlreiche Artikel zum Umgang mit dem Problem der Übersegmentierung von Wassereinzugsgebieten, aber ich denke, Sie sollten Robust Cell Image Segmentation Methods (wissenschaftlicher Artikel von Bengtsson et al. Aus dem Jahr 2004) lesen .
Es behandelt verschiedene Methoden zum Segmentieren von Zellbildern und enthält Beispiele aus der Praxis, die zeigen, wie mit einer Übersegmentierung von Wassereinzugsgebieten auf Fluoreszenzmikroskopbildern, die Ihren ähnlich sind, umgegangen werden kann (es enthält auch Beispiele für Hellfeldbilder und konfokale Mikroskopbilder). Es verwendet Samen aus der Entfernungstransformation, ähnlich wie bei Ihrem Ansatz, und führt Regionen mit schwachen Grenzen zusammen. Der Artikel liest sich gut und die Konzepte sind in Matlab ziemlich einfach zu implementieren.
Für einen noch aktuelleren Ansatz können Sie ein Zerlegungsschema für 3D-Fuzzy-Objekte lesen, das auf Fuzzy-Entfernungsinformationen von Svensson basiert . Es verwendet eine ähnliche Methode wie bei Bengtsson et al., Arbeitet jedoch an der Fuzzy-Distanz-Transformation, die eine bessere Dichtedarstellung für die im Artikel verwendeten Objekte ergibt.
quelle
Sie können die "erweiterte Maxima-Transformation" ausprobieren, eine morphologische Rekonstruktionsmethode. Es erkennt Maxima-Punkte anhand eines Kontrastkriteriums, das Sie invertieren und auferlegen können. Es ist in Matlab implementiert.
quelle