Digital Signal Processing Reference
In-Depth Information
ByteProcessor
(d. h. als 8-Bit-Grauwertbild) angenommen und jeder
Bildwert großer als null wird als Kantenpixel interpretiert. Die Anwen-
dung dieses Programms auf ein stark verrauschtes Kantenbild ist in Abb.
9.9 gezeigt.
9.3
Implementierung der
Hough-Transformation
Abbildung 9.9
Hough-Transformation fur Geraden.
Das Originalbild (a) hat eine Große
von 360
×
240 Pixel, womit sich ein
maximaler Radius (Abstand vom
Bildzentrum)
r
max
≈
216 ergibt. Im
zugehorigen Parameterraum (b) wird
eine Rasterung von jeweils 256 Schrit-
ten sowohl fur den Winkel
θ
=0
...π
(horizontale Achse) als auch fur den
Radius
r
=
−r
max
...r
max
(vertikale
Achse) verwendet. Die vier dunklen
Maximalwerte im Akkumulator-Array
entsprechen den Parametern der vier
Geraden im Originalbild. Die Inten-
sitat wurde zur besseren Sichtbarkeit
invertiert.
(a)
(b)
9.3.2 Auswertung des Akkumulator-Arrays
Der nachste Schritt ist die Lokalisierung der Maximalwerte im Akku-
mulator-Array
Acc
[
θ, r
]. Wie in Abb. 9.9 (b) deutlich zu erkennen ist,
schneiden sich auch beim Vorliegen von geometrisch exakten Bildgera-
den die zugehorigen Akkumulator-Kurven nicht
genau
in einzelnen Zel-
len, sondern die Schnittpunkte sind uber eine gewisse Umgebung verteilt.
Die Ursache sind Rundungsfehler aufgrund der diskreten Koordinaten-
gitter. Durch dieses Problem wird die Auswertung des Akkumulator-
Arrays zum schwierigsten Teil der HT, und es gibt dafur auch keine
Patentlosung. Zu den einfachen Moglichkeiten gehoren folgende zwei
Ansatze (s. Abb. 9.10):
Variante A: Schwelloperation
Zunachst unterziehen wir das Akkumulator-Array einer Schwellwert-
operation mit dem Wert
t
a
und setzen dabei alle Akkumulator-Werte
Acc
[
θ, r
]
<t
a
auf null. Die verbleibenden Regionen (Abb. 9.10 (b))
konnte man z. B. mit einer morphologischen
Closing
-Operation (s. Ab-
schn. 10.3.2) auf einfache Weise bereinigen. Als Nachstes lokalisieren wir
die noch ubrigen Regionen in
Acc
[
θ, r
] (z. B. mit einer der Techniken
in Abschn. 11.1), berechnen die Schwerpunkte der Regionen (s. Abschn.
11.4.3) und verwenden deren (nicht ganzzahlige) Koordinaten als Para-
meter der gefundenen Geraden. Weiters ist die Summe der Akkumulator-
Werte innerhalb einer Region ein guter Indikator fur die Starke (Anzahl
der Bildpunkte) der Geraden.