Was sind morphologische Operationen?
Filteroperator der logische Operationen (Bool’sche Algebra) nutzt
Filteroperator für Binärbilder (mit Ausnahmen)
deutlich effizienter als nichtlineare Filter und Faltungsfilter
Was beschreibt die Dilatation und wie sieht ein Pseudocode dafür aus?
strukturierendes Element wird repliziert
entspricht Bool’scher Algebra mit einem OR-Gate
ähnlich des (strukturierten) Maximum-Filters
Möglicher Pseudocode:
Lade binäres Quellbild
Initialisiere strukturierendes Element (z.B. Kreuz, Disk, rectangle)
Initialisiere leeres (alle Werte 0) Zielbild (Größe wie Quellbild)
Iteriere Struktur über Bildbereich (zwei Schleifen für Spalten-,Reihenindices)
Wenn min. ein “1”-Pixel der Struktur mit einem “1” Pixel im Quellbild übereinstimmt (OR-Operator):
dann färbe Zielpunkt (1)
sonst: weiter
Was beschreibt die Erosion und wie sieht ein Pseudocode dafür aus?
strukturierendes Element wird detektiert
entspricht Bool’scher Algebra mit einem AND-Gate
ähnlich des (strukturierten) Minimum-Filters
Wenn alle “1”-Pixel der Struktur mit jeweils einem “1” Pixel im Quellbild übereinstimmt (AND-Operator):
Welche Zusammenhang gibt es zwischen Erosion und Dilatation?
Erosion des Objekts entspricht Dilatation des Hintergrunds (“Shrinking”) und umgekehrt (“Growing”)
Wie lassen sich die morphologischen Operatoren aus Grauwertbilder anwenden?
Grauwert-Morphologie:
Ersetzen der binären Operatoren “OR” bzw. “AND” durch “Max” bzw. “Min”
identisches Ergebnis auf Binärbildern, aber anwendbar auch auf Grauwerten
“strukturierte” (=nicht quadratische) Minimun bzw. Maximumfilter
Welche Varianten gibt es Dilatation und Erosion zu kombinieren?
Opening
erst Erosion, dann Dilatation mit gleichem Kernel
kleine Objekte verschwinden
kleine Löcher in Objekten bleiben erhalten
je nach Kernel: Verrundung von “äußeren” Ecken
große Flächen bleiben ungefähr gleich
Closing
erst Dilatation, dann Erosion mit gleichem Kernel
kleine Löcher in Objekten verschwinden
kleine Objekte bleiben
je nach Kernel: Verrundung von “inneren” Ecken
-> Erst Opening, dann Closing ist möglich / sinnvoll
Opening: Rauschentfernung
Problem: Objekt in 2 Segmenten
Closing: Ein Label
Mehrfache Anwendung von Opening bzw. Closing ist sinnlos, da sich das Ergebnis nicht mehr ändert!
Wie lassen sich morphologisch Kanten finden?
äußerer Rand = Dilatation(Binärbild) - Binärbild
innerer Rand = Binärbild - Erosion(Binärbild)
Morphologischer Gradient = Dilatation (Binärbild) - Erosion(Binärbild)
Kantensuche auf Basis der Dilatation auch bei Grauwertbildern möglich
Datentyp beachten
Mit Schwellwert binarisieren
Was ist das Hit-and-Miss Verfahren?
Ziel: Erkennen von speziellen Strukturen mit hilfe morphologischer Filter
Alternativ: Korrelationsuntersuchungen, aber deutlich rechenintensiver (problematisch bei großen Datenbanken)
Hit-and-Miss:
Kombination von zwei speziellen Masken (Hit-Mask, Miss-Mask)
Verwendung von Bool’scher Algebra (über morphologische Operationen)
Schritt:
Erosion mit Hit-Mask (Zielstruktur/Matrix)
Erosion des invertierten Bildes mit Miss-Mask (Invertierte Zielmatrix mit 1 Pixelrand)
Logisches AND auf beide Masken anwenden
Morphologische Hit-and-Miss-Operatoren erlauben das Suchen einer bestimmten Struktur im Bild
Die Struktur kann auch “unscharf” angegeben werden (“don’t care=x; Hysterese-/Akzeptanzbereich für z.B. Suche nach unterer rechter Ecke)
Was ist die Distanz-Transformation?
Ziel: Für jeden Pixel den Abstand zur Objektkontur bestimmen
Abstand jedes Bildpunktes von der Objektkontur wird berechnet und so ein “neues Bild” generiert:
Abstand positiv außerhalb der Kontur
Abstand negativ innerhalb der Kontur
Abstand null auf der Kontur
Möglichkeiten zur Implementierung:
1-NN-Klassifikation (Suchbaumzugriff oder paarweise Distanzmatrix)
Iteratives “Growing” (Dilatation) bzw. “Shrinking” (Erosion)
Was ist das Ziel des Thinning/ der Skelettierung?
Ziel: “Ausdünnen” der Binärregion in eine 1-px-breite innere Skelettlinie
Anwendungen:
Quantifikation von geometrischen und topologischen Eigenschaften wie:
Konnektivität
Topologie
Länge, Breite
Richtung
In Kombination mit Distanztransformation:
Vollständige Objektbeschreibung (alle Informationen enthalten)
Was ist ein Skelett mathematisch und wie kann es erzeugt werden?
Menge der inneren Punkte für die die Distanz-Funktion in eine beliebige Richtung ein lokales Maximum hat (Steppenfeuer-Definition)
Randpixel werden solange entfernt, bis keine weitere Verdünnung mehr möglich ist
Iterative Erosion
Häufig: Durchkombinieren verschiedener Kernel in bestimmter Reihenfolge
State of the Art: Zhang-Suen Thinning-Algorithmus
Was sind die Eigenschaften des Skeletts und welche Probleme gibt es in der Praxis?
Eigenschaften:
Linienbreite 1px
Zusammenhängende Regionen im Bild ergeben zusammenhängende Linien im Skelett
Skelettlinien befinden sich im Regionszentrum
Für Rekonstruktion: Endpunkt muss erhalten bleiben
Skelette sind nicht eindeutig/einzigartig!
Skelettierungsergebnis von Kerneln und Reihenfolge abhängig
Probleme:
Skelett hat in der Praxis oft viele kleine Nesseln
Aufgrund von Löchern im Binärbild
-> Ansatz vorher Closing durchführen
Zuletzt geändertvor 2 Jahren