hough_lines — Findet Linien in Kantenbildern mit Hilfe der Hough-Transformation und
liefert sie in Hessescher Normalform zurück.
Mit Hilfe von hough_lines können in einer Region linienhafte
Strukturen selektiert werden. Dabei müssen die einzelnen Punkte einer
Linie nicht zusammenhängen. Das Verfahren basiert auf der
Hough-Transformation.
Mit AngleResolution wird die Genauigkeit bei der Bestimmung der
Winkel definiert. Sie beträgt 1 / AngleResolution Grad.
Der Parameter Threshold bestimmt, durch wie viel Punkte der
Ausgangsregion eine Linienhypothese wenigstens gestützt werden muss, um in
die Ausgabe zu gelangen. AngleGap und DistGap
definieren eine Umgebung um die Punkte im Hough-Bild für die Bestimmung der
lokalen Maxima: AngleGap beschreibt den minimalen Abstand zweier
Maxima im Hough-Bild in Richtung des Winkels und DistGap
entsprechend in Richtung der Distanz. Dadurch werden Maxima, die zwar die
vorgegebene Schwelle Threshold überschreiten, jedoch sehr nahe an
einem noch höheren Maximum liegen, eliminiert. Falls mehrere Maxima in
dieser Umgebung gleich hoch sind, werden alle zurückgegeben. Dieses
Eliminationsverfahren kann vor allem bei der gleichzeitigen Suche nach
langen und kurzen Linien hilfreich sein.
Zurückgeliefert werden die Linien in Hessescher Normalform, d.h. durch
Richtung Angle und Länge Dist ihres Normalenvektors
repräsentiert.
RegionIn (input_object) region → object
Binäres Kantenbild, in dem Linien gefunden werden sollen.
AngleResolution (input_control) integer → (integer)
Einstellen der Auflösung im Winkelbereich.
Defaultwert: 4
Werteliste: 1, 2, 4, 8
Threshold (input_control) integer → (integer)
Schwellenwert im Hough-Bild.
Defaultwert: 100
Typischer Wertebereich: 2
≤
Threshold
AngleGap (input_control) integer → (integer)
Minimaler Abstand zwischen zwei Maxima im Hough-Bild (in Angle-Richtung).
Defaultwert: 5
Typischer Wertebereich: 0
≤
AngleGap
DistGap (input_control) integer → (integer)
Minimaler Abstand zwischen zwei Maxima im Hough-Bild (in Distance-Richtung).
Defaultwert: 5
Typischer Wertebereich: 0
≤
DistGap
Angle (output_control) hesseline.angle.rad-array → (real)
Winkel (im Bogenmaß) der Normalen-Vektoren der gefundenen Linien.
Typischer Wertebereich: -1.5707963
≤
Angle
≤
3.1415927
Dist (output_control) hesseline.distance-array → (real)
Abstände der gefundenen Linien vom Koordinatenursprung.
Parameteranzahl: Dist == Angle
Typischer Wertebereich: 0
≤
Dist
hough_lines liefert den Wert 2 (H_MSG_TRUE),
falls die Eingabe nicht leer
ist. Das Verhalten bei leerer Eingabe (keine Eingaberegionen vorhanden)
lässt sich mittels set_system('no_object_result',<Result>)
festlegen.
Das Verhalten bei einer leeren Region (Region ist die leere Menge)
wird mit set_system('empty_region_result',<Result>) bestimmt.
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
hough_line_trans,
gen_region_hline,
hough_circles
Foundation