hough_linesT_hough_linesHoughLinesHoughLines (Operator)

Name

hough_linesT_hough_linesHoughLinesHoughLines — Findet Linien in Kantenbildern mit Hilfe der Hough-Transformation und liefert sie in Hessescher Normalform zurück.

Signatur

hough_lines(RegionIn : : AngleResolution, Threshold, AngleGap, DistGap : Angle, Dist)

Herror T_hough_lines(const Hobject RegionIn, const Htuple AngleResolution, const Htuple Threshold, const Htuple AngleGap, const Htuple DistGap, Htuple* Angle, Htuple* Dist)

void HoughLines(const HObject& RegionIn, const HTuple& AngleResolution, const HTuple& Threshold, const HTuple& AngleGap, const HTuple& DistGap, HTuple* Angle, HTuple* Dist)

HTuple HRegion::HoughLines(Hlong AngleResolution, Hlong Threshold, Hlong AngleGap, Hlong DistGap, HTuple* Dist) const

static void HOperatorSet.HoughLines(HObject regionIn, HTuple angleResolution, HTuple threshold, HTuple angleGap, HTuple distGap, out HTuple angle, out HTuple dist)

HTuple HRegion.HoughLines(int angleResolution, int threshold, int angleGap, int distGap, out HTuple dist)

Beschreibung

Mit Hilfe von hough_lineshough_linesHoughLinesHoughLinesHoughLines 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. Linien werden in Hessescher Normalform, d.h durch Richtung und Länge ihres Normalenvektors repräsentiert.

Mit AngleResolutionAngleResolutionAngleResolutionAngleResolutionangleResolution wird die Genauigkeit bei der Bestimmung der Winkel definiert. Sie beträgt 1 / AngleResolutionAngleResolutionAngleResolutionAngleResolutionangleResolution Grad. Der Parameter ThresholdThresholdThresholdThresholdthreshold bestimmt, durch wieviel Punkte der Ausgangsregion eine Linienhypothese wenigstens gestützt werden muss, um in die Ausgabe zu gelangen. AngleGapAngleGapAngleGapAngleGapangleGap und DistGapDistGapDistGapDistGapdistGap definieren eine Umgebung um die Punkte im Hough-Bild für die Bestimmung der lokalen Maxima. Zurückgeliefert werden die Linien in Hessesscher Normalform.

Ausführungsinformationen

Parameter

RegionInRegionInRegionInRegionInregionIn (input_object)  region objectHRegionHRegionHobject

Binäres Kantenbild, in dem Linien gefunden werden sollen.

AngleResolutionAngleResolutionAngleResolutionAngleResolutionangleResolution (input_control)  integer HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Einstellen der Auflösung im Winkelbereich.

Defaultwert: 4

Werteliste: 1, 2, 4, 8

ThresholdThresholdThresholdThresholdthreshold (input_control)  integer HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Schwellenwert im Hough-Bild.

Defaultwert: 100

Typischer Wertebereich: 2 ≤ Threshold Threshold Threshold Threshold threshold

AngleGapAngleGapAngleGapAngleGapangleGap (input_control)  integer HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Minimaler Abstand zwischen zwei Maxima im Hough-Bild (in Angle-Richtung).

Defaultwert: 5

Typischer Wertebereich: 0 ≤ AngleGap AngleGap AngleGap AngleGap angleGap

DistGapDistGapDistGapDistGapdistGap (input_control)  integer HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Minimaler Abstand zwischen zwei Maxima im Hough-Bild (in Distance-Richtung).

Defaultwert: 5

Typischer Wertebereich: 0 ≤ DistGap DistGap DistGap DistGap distGap

AngleAngleAngleAngleangle (output_control)  hesseline.angle.rad-array HTupleHTupleHtuple (real) (double) (double) (double)

Winkel (im Bogenmaß) der Normalen-Vektoren der gefundenen Linien.

Typischer Wertebereich: -1.5707963 ≤ Angle Angle Angle Angle angle ≤ 3.1415927

DistDistDistDistdist (output_control)  hesseline.distance-array HTupleHTupleHtuple (real) (double) (double) (double)

Abstände der gefundenen Linien vom Koordinatenursprung.

Parameteranzahl: Dist == Angle

Typischer Wertebereich: 0 ≤ Dist Dist Dist Dist dist

Ergebnis

hough_lineshough_linesHoughLinesHoughLinesHoughLines 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>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>) festlegen. Das Verhalten bei einer leeren Region (Region ist die leere Menge) wird mit set_system('empty_region_result',<Result>)set_system("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>) bestimmt. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

thresholdthresholdThresholdThresholdThreshold, skeletonskeletonSkeletonSkeletonSkeleton

Nachfolger

select_matching_linesselect_matching_linesSelectMatchingLinesSelectMatchingLinesSelectMatchingLines

Siehe auch

hough_line_transhough_line_transHoughLineTransHoughLineTransHoughLineTrans, gen_region_hlinegen_region_hlineGenRegionHlineGenRegionHlineGenRegionHline, hough_circleshough_circlesHoughCirclesHoughCirclesHoughCircles

Modul

Foundation