„Graphische Datenverarbeitung und Bildverarbeitung“ Hochschule Niederrhein
Morphologische Operatoren
Graphische DV und BV, Regina Pohle, 15. Morphologische Operatoren
1
Einordnung in die Inhalte der Vorlesung • • • •
Einführung mathematische und allgemeine Grundlagen Hardware für Graphik und Bildverarbeitung Graphische Grundalgorithmen (Zeichnen graphischer Primitive, Methoden für Antialaising, Füllalgorithmen) • Bildaufnahme (Koordinatensysteme, Transformation) • Durchführung der Bildverarbeitung und -analyse • • • • • •
Fourier-Transformation Bildrekonstruktion und Bildrestauration Bildverbesserung (Grauwertmodifikation, Filterverfahren) Segmentierung Morphologische Operationen Merkmalsermittlung und Klassifikation
• Erzeugung von Bildern in der Computergraphik • • • • • •
Geometrierepräsentationen Clipping in 2D und 3D Hidden Surface Removal Beleuchtungsberechnung Shading Schattenberechnung
• Volumenrendering als Beispiel für die Nutzung beider Gebiete Graphische DV und BV, Regina Pohle, 15. Morphologische Operatoren
2
Wiederholung wichtiger Begriffe • Datenbasierte Segmentierung • Modellbasierte Segmentierung • Wasserscheidentransformation • Template Matching • Optimale Kantensuche
Graphische DV und BV, Regina Pohle, 15. Morphologische Operatoren
3
15. Morphologische Operationen Morphologisch: die äußere Gestalt betreffend
morphologische Operationen: Operationen auf der Gestalt von Objekten setzt die Extraktion einer Gestalt voraus also: in erster Linie Operation auf Segmenten (d.h., auf Binärbildern) Ziel von morphologischen Operationen: •
Veränderung der Gestalt, um Störungen nach einer Segmentierung zu beseitigen
•
Berechnung von Formmerkmalen
•
Suche nach bestimmten Formen (also: Analyse)
Graphische DV und BV, Regina Pohle, 15. Morphologische Operatoren
4
15.1 Binäre Faltung Multiplikation (Wichtung) wird durch ein logisches „und“ und Summation wird durch ein logisches „oder“ ersetzt:
Gm′ ,n = ∨m′=− R,R ∨n′=−R,R M m′,n′ ∧ Gm+m′,n+n′
Dilatation (Ausdehnung): G⊕M mit Strukturelement M Graphische DV und BV, Regina Pohle, 15. Morphologische Operatoren
5
Dilatation
Dilatation: - verbindet Strukturen - füllt Löcher - vergrößert
Dilatation entspricht dem Resultat eines Rangordnungsfilters (Maximum) auf dem Binärbild.
Graphische DV und BV, Regina Pohle, 15. Morphologische Operatoren
6
Erosion Erosion: Kein „oder“ sondern ein „und“ über alle Elemente der Maske:
Gm′ ,n = ∧m′=− R,R ∧n′=− R,R M m′,n′ ∧ Gm+m′,n+n′
Erosion: G M mit Strukturelement M
Graphische DV und BV, Regina Pohle, 15. Morphologische Operatoren
7
Erosion
Erosion: - löst Strukturen auf - entfernt Details - verkleinert
Erosion entspricht dem Resultat eines Rangordnungsfilters (Minimum) auf dem Binärbild.
Graphische DV und BV, Regina Pohle, 15. Morphologische Operatoren
8
15.2 Strukturelemente •
Ein Strukturelement einer morphologischen Operation entspricht dem Faltungskern bei einer Konvolution.
•
Mit einem gezielt geformten Strukturelement können genau definierte Formveränderungen erzeugt werden.
Strukturelement
Dilatation
Graphische DV und BV, Regina Pohle, 15. Morphologische Operatoren
9
Gezielter Einsatz von Strukturelementen
Ungestörtes Binärbild Graphische DV und BV, Regina Pohle, 15. Morphologische Operatoren
10
Gezielter Einsatz von Strukturelementen
Strukturelement zum Schließen des Streifens
Streifenauslöschung Graphische DV und BV, Regina Pohle, 15. Morphologische Operatoren
11
Gezielter Einsatz von Strukturelementen
Strukturelement zum Schließen des Streifens
Ergebnis nach Dilatation: Streifen ist geschlossen Graphische DV und BV, Regina Pohle, 15. Morphologische Operatoren
12
Gezielter Einsatz von Strukturelementen
Strukturelement zur Erosion des zu breiten Schriftzugs
Ergebnis nach nachfolgender Erosion: Schriftzüge haben ihre Urspungsstärke Graphische DV und BV, Regina Pohle, 15. Morphologische Operatoren
13
15.3 Einige Eigenschaften von morphologischen Operatoren Verschiebungsinvarianz: Wegen der Beschreibung von Erosion/Dilatation als Faltung sind beide Operationen genau wie eine Faltung verschiebungsinvariant. Kommutativität und Assoziativität: es gilt jedoch (G Dualität:
M1⊕ M2 = M2⊕ M1 aber M1 M2 ≠ M2 M1
M1) M2 = G (M1 M2)= (G
M2) M1
G M = G ⊕ M und G ⊕ M = G M
B
M⊂B⊂B⊕M
Graphische DV und BV, Regina Pohle, 15. Morphologische Operatoren
14
15.4 Opening Opening (Öffnen): Kombination von Erosion gefolgt von einer Dilatation G o M = (G M) ⊕ M Ziel:
Erosion - Entfernung aller (Teil-)strukturen, die kleiner als das Strukturelement sind Dilatation - Wiederherstellung der ursprünglichen Größe des Objekts mit Ausnahme der vollständig entfernten Teilstrukturen
Ziel: Entfernung von (durch Störungen verursachten) Details im Bild
Graphische DV und BV, Regina Pohle, 15. Morphologische Operatoren
15
original
Erosion mit 3x3 Element
Opening mit 3x3 Element
Opening mit größerem Element
Graphische DV und BV, Regina Pohle, 15. Morphologische Operatoren
16
Entfernung von Linien durch Opening
Erosion (2x2) Original
Dilatation (2x2) Subtraktion Bild1 - Bild3 Graphische DV und BV, Regina Pohle, 15. Morphologische Operatoren
17
15.5 Closing Closing (Schließen): Kombination von Dilatation gefolgt von einer Erosion G • M = (G ⊕ M) M Ziel: Dilatation - Schließen von kleinen Löchern (kleiner als das Strukturelement) Erosion -
Wiederherstellung der ursprünglichen Größe des Objekts
Ziel: Entfernung von (durch Störungen verursachten) Löchern
Graphische DV und BV, Regina Pohle, 15. Morphologische Operatoren
18
Original
Dilatation mit 3x3 Element
Schließen mit 3x3 Element
Schließen mit größerem Element
Graphische DV und BV, Regina Pohle, 15. Morphologische Operatoren
19
15.6 Erkennung von Strukturen durch morphologische Operationen Beispiel: Alle waagerechten Linienstücke mit einer Länge von drei Pixeln sollen erkannt werden. 1. Schritt: Entfernung aller Strukturen, die kürzer sind. Problem: Auch größere Objekte bleiben erhalten
Strukturelement
Graphische DV und BV, Regina Pohle, 15. Morphologische Operatoren
20
Suche nach Objekten, die größer als die gesuchte Struktur sind 2. Schritt: Konstruktion einer Negativmaske (durch Erosion des Hintergrundes mit einem Negativstrukturelement):
1 0
Strukturelement
Effekt: Ein Pixel wird dann zu 1 gesetzt, wenn es am Rand um eine DreiPixel-Linie nur Hintergrundelemente gibt.
Strukturelement wird aber auch dort gefunden, wo es Hintergrund berandet.
Graphische DV und BV, Regina Pohle, 15. Morphologische Operatoren
21
Hit-or-Miss Operator 3. Schritt: Schnittmenge zwischen der Erosion des Vordergrundes und des Hintergrundes bilden.
∩
Graphische DV und BV, Regina Pohle, 15. Morphologische Operatoren
22
Hit-or-Miss Operator Hit-or-Miss Operator:
G ⊗ (M ,M ) 1
= (G M ) ∩ (G M )
2
1
2
= (G M ) ∩ (G ⊕ M ) 1
mit
M
1
∩
2
M = Ø (sonst wäre das Resultat der 2
Operation die leere Menge) Hit-or-Miss-Operator für variable Strukturgrößen: z.B. Hit
Miss
führt zur Akzeptanz von horizontalen Linien von 3,4, und 5 Pixeln Länge.
Notation für Hit-or-Miss-Operator: 0 - Miss 1 - Hit x - weder Miss noch Hit
M=
(
0 0 0
0 x 0
0 1 0
0 1 0
0 1 0
0 x 0
Graphische DV und BV, Regina Pohle, 15. Morphologische Operatoren
0 0 0
)
23
Hit-or-Miss-Operatoren 000 M = 010 000
Entfernung einzelner Pixel
x10 M = 110 000
detektiert untere, rechte Ecken eines Objekts
I
C
000 M =x1x 111 T1
findet alle Randpunkte von oben, die ein Objekt nicht teilen würden, wenn sie entfernt würden. Diese Punkte würden gefunden werden.
Diese Punkte würden nicht gefunden werden.
Graphische DV und BV, Regina Pohle, 15. Morphologische Operatoren
24
15.7 Thinning mit Hit-or-Miss-Operatoren Im kontinuierlichen Bild: Skelett einer Figur ergibt sich als Verbindung aller Mittelpunkte von Kreisen mit maximalem Radius, die noch vollständig in der Figur liegen
Im diskreten Bild: Geforderte Bedingungen: • Skelett muss aus 1 Pixel breiten Linien bestehen • Zusammenhängende Region muss zusammenhängende Skelettlinie haben • Skelettlinie soll etwa in der Mitte verlaufen • Endpunkte dürfen nicht entfernt werden • Es dürfen keine zusätzlichen Verzweigungen entstehen
Graphische DV und BV, Regina Pohle, 15. Morphologische Operatoren
25
Thinning mit Hit-or-Miss-Operatoren Ziel: z.B. die Mittellinie des Schriftzugs zu finden.
M = T1
M = T3
M = T5
M = T7
000 x1x 111 0x1 011 0x1 111 x1x 000 1x0 110 1x0
x00 M = 110 11x 11x M = 110 x00 x11 M = 011 00x 00x M = 011 x11 T2
Methode: Randpixel solange entfernen, bis der zusammenhängende Schriftzug aufgelöst werden würde.
T4
T6
T8
Thinning-Operator von oben: G∅MT = G \ (G ⊗MT1) Symmetrisches Thining:
G∅ M = G \ ∪ T
n=1,8
G ⊗M ) Tn
Thinning wird wiederholt, bis G∅MT = G ist.
Graphische DV und BV, Regina Pohle, 15. Morphologische Operatoren
26
Thinning mit Hit-or-Miss-Operatoren
Graphische DV und BV, Regina Pohle, 15. Morphologische Operatoren
27
Andere Thinning-Methode Zhang/Wang • Gewichtung aller Objektpixel mit 1, Mindestwert=1 • Ersetzen des Pixelwertes mit der Summe der 4 direkten Nachbarn, Mindestwert=4*Mindestwert • Wiederholung des Ersetzens solange für alle Pixel, die gleich dem Mindestwert sind, bis keine mehr auftreten • Normierung der Gewichte (Vergleich mit jeweils gegenüberliegenden Pixeln) • Entfernen von Pixeln aus der Vergleichsmatrix, wenn in der direkten Umgebung noch andere Pixel mit größerem Gewicht sind und Zusammenhang erhalten bleibt
Graphische DV und BV, Regina Pohle, 15. Morphologische Operatoren
28
Andere Thinning-Methode Zhang/Wang
Graphische DV und BV, Regina Pohle, 15. Morphologische Operatoren
29
15.8 Extraktion von Rändern 010 M = 111 010
111 M = 111 111
Erosion mit Mb4 bzw. Mb8 entfernt alle Objektpixel, in deren 4- bzw. 8b4 b8 Nachbarschaft sich Hintergrundpixel befinden. Der Rand kann nun durch Differenzbildung zwischen Ursprungsbild und erodiertem Bild erzeugt werden: ∂G = G \ (G Mb)
Graphische DV und BV, Regina Pohle, 15. Morphologische Operatoren
30
Extraktion von Rändern 010 M = 111 010
111 M = 111 111
Erosion mit Mb4 bzw. Mb8 entfernt alle Objektpixel, in deren 4- bzw. 8b4 b8 Nachbarschaft sich Hintergrundpixel befinden. Der Rand kann nun durch Differenzbildung zwischen Ursprungsbild und erodiertem Bild erzeugt werden: ∂G = G \ (G Mb) ∂G
= G \ (G M ) b
= G ∩ (G M ) b
= G ∩ (G ⊕ M ) b
Hintergrundrand: ∂GB
= (G ⊕ M ) \ G b
Graphische DV und BV, Regina Pohle, 15. Morphologische Operatoren
original
8er Rand
4er Rand
8er Rand des Hintergrunds
Graphische DV und BV, Regina Pohle, 15. Morphologische Operatoren
31
32
15.9 Distanztransformation Resultat der Randoperation ∂G0
= G \ (G M ): b
Menge aller Pixel, die den Abstand 0 zum Rand haben. Falls die gleiche Operation auf dem um den Rand verminderten Bild nochmals angewendet wird: ∂G1 = (G Mb) \ (G Mb Mb) Menge aller Pixel, die den Abstand 1 zum Rand haben. Fortgesetzte Extraktion von immer weiter vom Rand entfernten Linien und Multiplikation der jeweiligen Resultate mit der aktuellen Entfernung überführt das Binärbild in ein Distanzbild D:
D=∪
n=1,∞
[ (G
M
b
n-1
) \ (G M ) n] , b
n
wobei die Operation · die punktweise Multiplikation der n-ten Randkurve mit der Zahl n (dem aktuellen Abstand) darstellt.
Graphische DV und BV, Regina Pohle, 15. Morphologische Operatoren
33
Distanztransformation - Beispiel Originalbild Objektinneres (nach fortgesetzter Erosion) Randpixel nach der n-ten Erosion einschließlich Distanz
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 2 1 1 2 2 1 2 2 1 1 2 1
21 1 1 2 2 1 2 1 1
1 1 1 2 1 2 1
1 2 3 2 1
1 1 2 3 2 1
2 1 1 2 2 1 2 1 1
Graphische DV und BV, Regina Pohle, 15. Morphologische Operatoren
34
15.10 Morphologisches Füllen von Regionen Setzen eines Startpunktes → X0 Komplement des Ausgangsbildes A → AC 0 1 0
X k = ( X k −1 ⊕ B ) ∩ AC
B
=
1 1 1 0 1 0
Abbruch des Algorithmus, wenn Xk=Xk-1 Ergebnis ergibt sich durch:
Xk ∪ A
Graphische DV und BV, Regina Pohle, 15. Morphologische Operatoren
35
Graphische DV und BV, Regina Pohle, 15. Morphologische Operatoren
36
Zusammenfassung • Formverändernde oder formauswertende Operationen auf Segmenten • Morphologische Filter zur: - Unterdrückung von Artefakten nach einer Segmentierung - Suche nach vorgegebenen Formen - Skelettierung von Segmenten - Distanztransformation
Graphische DV und BV, Regina Pohle, 15. Morphologische Operatoren
37