You are on page 1of 11

Universitt Ulm Fakultt fr Mathematik und Wirtschaftswissenschaften Abteilung Stochastik Abteilung Angewandte Informationsverarbeitung

Seminar Simulation und Bildanalyse mit Java SS 03

Morphologische Bildverarbeitung I
Christina Deutschmann
Vortrag mit Programmvorstellung 29.07.03

Simulation und Bildanalyse mit Java


Seminar

Christina Deutschmann 29.07.03

berblick

Algorithmus zur - Distanztransformation - Erosion und Dilatation mittels Distanztransformation (jeweils fr Binrbilder)

Simulation und Bildanalyse mit Java


Seminar

Christina Deutschmann 29.07.03

Distanztransformation (1)
- Distanztransformation: dist(p1) = min{ d(p1, p2): f(p2) = 0 }
(xi, yi) Koordinaten des Pixels pi Pixel p1, p2 Df des Binrbildes f : Df Z2 {0,1}, d hier Metrik/diskrete Distanz d4 bzw. d8, mit d4((x1 y1), (x2, y2)) = |x2 x1| + |y2 y1|, d8((x1 y1), (x2, y2)) = max{ |x2 x1|, |y2 y1| },

- Berechnung der Distanz zum nchsten nullwertigen Pixel (pro Bildpixel) - Ergebnis abhngig von Form und Gre des strukturierenden Elements (SE)
Formen
4er Nachbarschaft (City Block Metrik)

8er Nachbarschaft (Schachbrett Metrik)

Bezugspunkt

rautenfrmiges SE

quadratisches SE

Gre n { 1, 2, 3, ... }
SE der Gre 1:
(elementares SE)

SE der Gre 2: M SE der Gre n:

(n-1) malige Dialatation mit dem (punktgespiegelten) elementaren SE Simulation und Bildanalyse mit Java
Seminar
Christina Deutschmann 29.07.03

Distanztransformation (2)
- Sequentieller Algorithmus nach Rosenfeld und Pfaltz (1966)
Vorwrtsabtastung aller Pixel p Df des Binrbildes f : D f 2 { 0, 1} IF ( f ( p) == 1) THEN f ( p ) = 1 + min{ f (q ) | q N G ( p)} Rckwrtsabtastung aller Pixel p Df + IF ( f ( p) != 0) THEN f ( p ) = min{ f ( p), 1 + min{ f ( q) | q N G ( p)}}
NG

4
Rckwrtsnachbarn

+ NG

Vorwrtsnachbarn

Randbetrachtung
Problem: Objektpixel (1er) liegen soweit am Rand, da Nachbar(n) auerhalb liegen Lsung: Konsistentes Verhalten durch virtuelle Nachbarn mit Wert "" (z.B. 231-1)

- Beispiel mit rautenfrmigem SE der Gre 1


INPUT (Binrbild)
0 0 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 0 0 0 0 0

Vorwrtsabtastung

OUTPUT (Grauwertbild)
0
Rckwrtsabtastung

0 0 0 0 0 0

0 1 1 1 1 0

0 1 2 1 2 1 2 1 0

0 1 1 2 1 3 3 1 0

0 1 1 2 1 3 4 1 0

0 0 0 0 0 0

0 1 1 1 1 0

0 1 2 2 2 1 0

0 1 2 2 3 3 1 0

0 1 2 1 1 3 1 4 0

0 0 0 0 0 0

0 0 0 0 0


Christina Deutschmann 29.07.03

Simulation und Bildanalyse mit Java


Seminar

Erosion und Dilatation mittels Distanztransformation (1)


- Erosion (Abtragung): A
A alle Objektpixel, B symmetr. SE, Bp das mit seinem Bezugspunkt zum Pixel p verschobene SE - Allg.: Minimum Filter (Rangordnungsfilter) - Bei Binrbildern: nur wenn sich das SE vollstndig im Objekt befindet, ist das Ergebnis (unter dem Bezugspunkt) 1, sonst 0 (UND Verknpfung) - Wirkung: kleine Kleckse (insbesondere wenn sie kleiner als das SE sind) und schmale Auslufer und Brcken verschwinden und das Objekt wird kleiner

B = { p: Bp A } (Def. fr Binrbilder)

gelschte Pixel

- Dilatation (Ausdehnung): A

B = { p: Bp A } (Def. fr Binrbilder)

- Allg.: Maximum Filter (Rangordnungsfilter) - Bei Binrbildern: wenn das SE mind. ein Objektpixel abdeckt, ist das Ergebnis 1, sonst 0 (ODER Verknpfung) - Wirkung: kleine Lcher werden gefllt, Konturen des Objekts werden glatter und das Objekt wird grer

- Einsatz

neu hinzugekommene Pixel

Als morphologische Grundoperatoren fr zusammengesetzte Operatoren, wie z.B. Opening (A Closing (A B) B oder Extraktion von Rndern A\(A B). Simulation und Bildanalyse mit Java
Seminar

B)

B,

Christina Deutschmann 29.07.03

Erosion und Dilatation mittels Distanztransformation (2)


- Algorithmus mittels Distanztransformation (fr Binrbilder)
Erosion
Binarisierung der zugehrigen Distanztransformation (fr entsprechendes elementares SE). Der Schwellenwert ergibt sich aus der Gre n des verwendeten SE, indem alle Pixelwerte, die grer als n sind auf 1 gesetzt werden, sonst auf 0.

n=2 erode4(2) dist4()


0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 1 2 2 2 2 2 2 1 0 0 1 2 3 3 3 3 2 1 0 0 1 2 3 4 4 3 2 1 0 0 1 1 2 3 4 3 2 1 0 0 0 0 1 2 3 3 2 1 0 0 0 0 1 2 2 2 2 1 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0

erode4(Df, n) = {pDf | dist4(p) > n} = binarize(dist4(Df), n+1) erode8(Df, n) = {pDf | dist8(p) > n} = binarize(dist8(Df), n+1)

binarize(3)

Dilatation
ber die Dualitt von Erosion und Dilatation: A B = (Ac B)c Das Bild wird zunchst invertiert, dann die Erosion angewendet und erneut invertiert.
invert() dilate8(1)

invert()

dilate4(Df, n) = invert(Df); erode4(Df, n); invert(Df) dilate8(Df, n) = invert(Df); erode8(Df, n); invert(Df)

erode8(1)

Simulation und Bildanalyse mit Java


Seminar

Christina Deutschmann 29.07.03

Anhang (1)
Literatur
P. Soille, Morphologische Bildverarbeitung - Grundlagen, Methoden, Anwendungen, Springer-Verlag, 1998 P. E. Danielsson, Euclidean distance mapping, Computer Graphics and Image Processing 14, p. 227-248, 1980 B. Jhne, Digitale Bildverarbeitung, Springer-Verlag, 2002 J. Ohser, F. Mcklich, Statistical Analysis of Microstructures in Materials Science, John Wiley & Sons, 2000 http://java.sun.com/j2se/1.4.1/docs/api/

Simulation und Bildanalyse mit Java


Seminar

Christina Deutschmann 29.07.03

Anhang (2)
Screenshots
Bilder zur Distanztransformation (Abb. 1).

Abb. 1 Bild 1-4 sind Distanztransformationen von Bild 1. Bild 2 und 4 (Zeile 2) mit der 4er Nachbarschaft, Bild 3 und 5 (Zeile 3) mit der 8er Nachbarschaft. Als alternative Reprsentation wurden die Distanztransformationen in Bild 4 und 5 (Spalte 2) modulo 8 dargestellt. Dort kann man auch prinzipiell sehen, wie die Erosion verwirklicht wird, nmlich durch Abtragung der "Ringe" (Anzahl entsprechend der Gre des SE, bei Darstellung in modulo 2).

Simulation und Bildanalyse mit Java


Seminar

Christina Deutschmann 29.07.03

Anhang (3)
Bilder zur Erosion und Dilatation (Abb. 2 und 3)

Interessant bei Abb. 2 ist, dass der Kreis aus Bild 1 bei der Erosion mit der 4er Nachbarschaft zunehmend zum Quadrat wird (je fters man die Erosion ausfhrt bzw. je grer das SE ist), bei der Dilatation hingegen immer mehr zur Raute. Fr die 8er Nachbarschaft der umgekehrte Fall gilt (Erosion Raute, Dilatation Quadrat).

Abb. 2 Bild 6 und 8 (Zeile 2) sind Erosion und Dilatation von Bild 1 mit der 4er Nachbarschaft und einem SE der Gre 10 Bild 7 und 9 (Zeile 3) sind Erosion und Dilatation von Bild 1 mit der 8er Nachbarschaft und ebenfalls einem SE der Gre 10.

Abb. 3 Bild 11 und 12 (Zeile 2) sind Erosion und Dilatation von Bild 10 mit der 8er Nachbarschaft und einem SE der Gre 16.

Simulation und Bildanalyse mit Java


Seminar

Christina Deutschmann 29.07.03

Anhang (4)
Bilder zur Randbetrachtung (Abb. 4)

10

In Bild 13 liegen die Objekte am Rand, sind also nicht vollstndig von Hintergrundpixeln (0'en) umgeben. In Bild 14 sieht man, wie die Grauwerte zum Rand hin zunehmen (aufgrund der Randbetrachtung beim Algorithmus zur Distanztransformation). Deswegen wird bei einer Erosion, wie in Bild 16, intuitiv nicht vom Rand her erodiert (was z.B. bei einer Annahme von 0'en auerhalb des Bildes der Fall wre.

Abb. 4 Bild 14 und 15 (Zeile 2) sind Distanztransformationen von Bild 13, Bild 14 mit der 4er und Bild 15 mit der 8er Nachbarschaft (modulo 2). Bild 16 und 17 (Zeile 3) sind Erosion und Dilatation von Bild 1 mit der 8er Nachbarschaft und einem SE der Gre 8.

Simulation und Bildanalyse mit Java


Seminar

Christina Deutschmann 29.07.03

Anhang (5)
Abschlieend noch Bilder fr Leute, die zulange vor dem Rechner saen (Abb. 5)

11

Abb. 5 Bild 20 ist die Distanztransformation von Bild 19, mit einer 8er Nachbarschaft und der Darstellung der Grauwerte modulo 8.

Simulation und Bildanalyse mit Java


Seminar

Christina Deutschmann 29.07.03

You might also like