ich die 2-D Watershed example in Mathworks.com folgte die verbundenen Objekte zu trennen, wie das Bild unten:Over-Segmentierung von Watershed-Algorithmus
Der Code wie zusammenfassen:
bw = imread('some_binary_image.tif');
D = -bwdist(~bw);
D(~bw) = -Inf;
L = watershed(D);
Das Ergebnis ist:
Das Teilchen in der Mitte wurde in zwei Teile getrennt. Gibt es Möglichkeiten, die Übersegmentierung hier zu vermeiden?
Danke, Lennon310, chessboard
funktioniert gut für die meisten meiner Bilder, aber es gibt immer noch einige Fälle, die es nicht tut. Zum Beispiel kann die folgende binäre Bild:
Schachbrett Mit bewirkt:
Wie ich Hunderte von Bildern haben, scheint es, dass es schwierig ist, eine Kombination von Parametern zu finden, die für alle Bilder arbeiten . Ich frage mich, ob ich die guten Ergebnisse aus der Verwendung Schachbrett bekamen kombinieren müssen, cityblock, etc ...
was ist Ihr Ziel von Hunderten von Bildverarbeitung? Es ist nicht erforderlich, ein Wassereinzugsgebiet zu verwenden, um die Objekte zu extrahieren. Da zwischen zwei Kreisen in Ihrem Bild winzige Verbindungen bestehen, funktioniert die grundlegende Methode zum Beschriften der verbundenen Komponenten möglicherweise ebenfalls nicht. Tatsächlich gibt es in der Matlab-Bildverarbeitungs-Toolbox Kreisdetektoren (Hough, Imfindcircles, ...). – lennon310
@ lennon310: Dies sind tatsächlich Bilder, die mit Röntgen-Tomographie aufgenommen wurden. Ich möchte eine Maske für das Teilchen meines Interesses erstellen. Momentan verwende ich Connected Threshold Grower in ImageJ, der die verbundene Region von einem Startpunkt aus findet.Durch Setzen des Startpunkts auf das interessierende Partikel kann der Connected Threshold Grower ein Ergebnis erzeugen, das nur dieses Partikel enthält, wenn es keine anderen Partikel berührt. Jetzt lösche ich manuell die berührende Grenze für Hunderte von Bildern, was zeitaufwendig ist. Ich versuche Wasserscheide zu verwenden, um diese Partikel automatisch zu trennen. – shapeare
Die Röntgenbilder sind keine Binärbilder, oder? Ich denke, dass die verbundene Komponente erkannt werden kann, oder sogar Cluster-Algorithmus ist es wert, die Rohbilder basierend auf der Intensitätsdifferenz zu versuchen. Für binäres Bild, besonders Ihr aktualisiertes, ist es schwierig, die zwei tatsächlich verbundenen Kreise zu segmentieren. – lennon310