Digital Signal Processing Reference
In-Depth Information
···
A
11.2
Konturen von Regionen
Abbildung 11.9
Kombinierte Regionenmarkierung
und Konturverfolgung (nach [17]).
Das Bild wird von links oben nach
rechts unten zeilenweise durchlau-
fen. In (a) ist der erste Punkt
A
am
außeren Rand einer Region gefunden.
Ausgehend von
A
werden die Rand-
pixel entlang der außeren Kontur
besucht und markiert, bis
A
wieder
erreicht ist. In (b) ist der erste Punkt
B
auf einer inneren Kontur gefunden.
Die innere Kontur wird wiederum bis
zum Punkt
B
zuruck durchlaufen und
markiert (c). In (d) wird ein bereits
markierter Punkt
C
auf einer inneren
Kontur gefunden. Diese Markierung
wird entlang der Bildzeile innerhalb
der Region fortgepflanzt.
B
(a)
(b)
B
C
(c)
(d)
Fall C:
Bei einem Vordergrundpixel, das nicht an einer Kontur liegt,
ist jedenfalls das linke Nachbarpixel bereits markiert (Abb. 11.9 (d)).
Diese Markierung wird fur das aktuelle Pixel ubernommen.
In Alg. 11.3-11.4 ist der gesamte Vorgang nochmals exakt beschrieben.
Die Prozedur CombinedContourLabeling durchlauft das Bild zei-
lenweise und ruft die Prozedur TraceContour auf, sobald eine neue
innere oder außere Kontur zu bestimmen ist. Die Markierungen der Bild-
elemente entlang der Konturen sowie der umliegenden Hintergrundpixel
werden im
”
label map“
LM
durch die Methode FindNextNode (Alg.
11.4) eingetragen.
11.2.3 Implementierung
Die vollstandige Implementierung in Java bzw. ImageJ ist aus Platz-
grunden in Anhang 4.2 (S. 487-496) zusammengestellt. Sie folgt im We-
sentlichen der Beschreibung in Alg. 11.3-11.4, weist jedoch einige zusatz-
liche Details auf:
4
4
Nachfolgend sind zu den im Algorithmus verwendeten Symbolen jeweils die
Bezeichnungen im Java-Programm in Klammern angegeben.