Ich habe eine Eingabe als 3D-Binärbild und die bevorzugte Ausgabe unten:
Eingang:
Bevorzugte Ausgabe:
Nach welchen Bildverarbeitungsmethoden sollte ich suchen, wenn nur die stacheligen Objekte übrig bleiben sollen, genau wie bei der obigen bevorzugten Ausgabe?
spiky
Objekt ist? Was nennt es wirklich stachelig? Was sind die Schlüsselmerkmale, um stachelige Objekte zu erkennen?Antworten:
Es gibt mehr Ecken an den Grenzen des „stacheligen Objekts“, so ein Ansatz zur Melodie sein , würde Ecke Detektor für diesen.
Zum Beispiel habe ich die Determinante des Strukturtensors (Mathematica-Code unten) eines entfernungstransformierten Bildes berechnet:
Das Binarisieren mit Hysterese ergibt dieses Bild, das ein guter Ausgangspunkt für den Segmentierungsalgorithmus Ihrer Wahl sein sollte:
Mathematica-Code (
src
ist das Quellbild, das Sie gepostet haben)Zuerst berechne ich eine Entfernungstransformation des Eingabebildes. Dies erzeugt Kontraste über den gesamten Objektbereich (anstatt nur über den Rand), sodass das gesamte Objekt erkannt werden kann.
Als nächstes bereite ich die Komponenten des Strukturtensors vor . Die Filtergröße für die Gaußschen Ableitungen beträgt bei 5 die Fenstergröße 20.
Um den Eckfilter für jedes Pixel zu berechnen, füge ich diese einfach in die symbolische Determinante des Strukturtensors ein:
Welches ist im Grunde das gleiche wie:
Wenn Sie dies in ein Bild konvertieren und auf den Bereich 0..1 skalieren, erhalten Sie das obige Eckendetektorbild.
Wenn Sie es schließlich mit den richtigen Schwellenwerten binärisieren, erhalten Sie das endgültige binäre Bild:
quelle