16.12.2012 Aufrufe

Zusammenfassung - Otto-von-Guericke-Universität Magdeburg

Zusammenfassung - Otto-von-Guericke-Universität Magdeburg

Zusammenfassung - Otto-von-Guericke-Universität Magdeburg

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

5 Merkmalsgewinnung<br />

Ohne weitere Verarbeitungsschritte ist es möglich, dass diese Sequenz ¯P einerseits aufeinanderfolgende<br />

Knotenpunkte mit denselben Koordinatenwerten enthält und andererseits<br />

aufeinanderfolgende Knotenpunkte nicht in jedem Fall unmittelbar benachbart sind. Der erste<br />

Fall tritt ein, wenn mehrere originale, aufeinanderfolgende Abtastpunkte aus P auf denselben<br />

Gitterknoten abgebildet werden. Dies geschieht umso häufiger, je größer der Wert wg ist und<br />

je kleiner die Schreibgeschwindigkeit an der betreffenden Stelle war. Diese Problem kann dadurch<br />

gelöst werden, dass die Funktion deleteDoubles() aus Abschnitt 5.1.1 auf die Sequenz<br />

¯P angewandt wird. Der Fall, dass aufeinanderfolgende Knotenpunkte aus ¯P nicht unmittelbar<br />

benachbart sind, kann etwa dadurch eintreten, dass der Wert wg sehr klein gewählt wird<br />

oder dass die Schreibgeschwindigkeit vergleichsweise hoch war. In solchen Fällen ist es nötig,<br />

weitere Gitterknoten zu selektieren, sodass die aufeinanderfolgenden Knoten unmittelbar benachbart<br />

sind. Dazu kann beispielsweise eine Version des Bresenham-Algorithmus für Linien<br />

[Bre65] verwendet werden (siehe Algorithmus 3).<br />

Die Bestimmung der Merkmalszeichenkette s = s1s2s3 ...sn−1 mit s ∈ A n−1<br />

� aus einer Sequenz<br />

¯P <strong>von</strong> n unmittelbar benachbarten Gitterknotenpunkten ¯p1 ¯p2 ... pn kann mit der in<br />

Algorithmus 4 dargestellten Funktion extractSquareGridCoding( ¯P) geschehen. Hierzu werden<br />

die Nachbarschaftsbeziehungen aufeinanderfolgender Gitterknotenpunkte ¯pi und ¯pi+1 für<br />

1 ≤ i < n entsprechend des in Abbildung 5.7 dargestellten Schemas durch Elemente des Alphabetes<br />

A� kodiert.<br />

Algorithmus 4 Verfahren zur Kodierung <strong>von</strong> Nachbarschaftsbeziehungen in Sequenzen <strong>von</strong><br />

Gitterpunkten<br />

1: function EXTRACTSQUAREGRIDCODING( ¯P)<br />

2: s ← λ ⊲ initialisiere s als leere Zeichenkette<br />

3: n ← | ¯P|<br />

4: for i ← 1,...,n − 1 do<br />

5: ( ¯xi, ¯yi) ← ¯pi<br />

6: ( ¯xi+1, ¯yi+1) ← ¯pi+1<br />

7: if ¯xi < ¯xi+1 and ¯yi = ¯yi+1 then s ← s|0 ⊲ Symbol 0 an s anfügen<br />

8: else if ¯xi < ¯xi+1 and ¯yi < ¯yi+1 then s ← s|1 ⊲ Symbol 1 an s anfügen<br />

9: else if ¯xi = ¯xi+1 and ¯yi < ¯yi+1 then s ← s|2 ⊲ Symbol 2 an s anfügen<br />

10: else if ¯xi > ¯xi+1 and ¯yi < ¯yi+1 then s ← s|3 ⊲ . . .<br />

11: else if ¯xi > ¯xi+1 and ¯yi = ¯yi+1 then s ← s|4<br />

12: else if ¯xi > ¯xi+1 and ¯yi > ¯yi+1 then s ← s|5<br />

13: else if ¯xi = ¯xi+1 and ¯yi > ¯yi+1 then s ← s|6<br />

14: else if ¯xi < ¯xi+1 and ¯yi > ¯yi+1 then s ← s|7<br />

15: end if<br />

16: end for<br />

17: return s<br />

18: end function<br />

62

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!