hough_linesT_hough_linesHoughLinesHoughLineshough_lines (Operator)

Name

hough_linesT_hough_linesHoughLinesHoughLineshough_lines — 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)

def hough_lines(region_in: HObject, angle_resolution: int, threshold: int, angle_gap: int, dist_gap: int) -> Tuple[Sequence[float], Sequence[float]]

Beschreibung

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

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

Ausführungsinformationen

Parameter

RegionInRegionInRegionInRegionInregionInregion_in (input_object)  region objectHRegionHObjectHRegionHobject

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

AngleResolutionAngleResolutionAngleResolutionAngleResolutionangleResolutionangle_resolution (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Einstellen der Auflösung im Winkelbereich.

Defaultwert: 4

Werteliste: 1, 2, 4, 8

ThresholdThresholdThresholdThresholdthresholdthreshold (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Schwellenwert im Hough-Bild.

Defaultwert: 100

Typischer Wertebereich: 2 ≤ Threshold Threshold Threshold Threshold threshold threshold

AngleGapAngleGapAngleGapAngleGapangleGapangle_gap (input_control)  integer HTupleintHTupleHtuple (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 angle_gap

DistGapDistGapDistGapDistGapdistGapdist_gap (input_control)  integer HTupleintHTupleHtuple (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 dist_gap

AngleAngleAngleAngleangleangle (output_control)  hesseline.angle.rad-array HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

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

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

DistDistDistDistdistdist (output_control)  hesseline.distance-array HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Abstände der gefundenen Linien vom Koordinatenursprung.

Parameteranzahl: Dist == Angle

Typischer Wertebereich: 0 ≤ Dist Dist Dist Dist dist dist

Ergebnis

hough_lineshough_linesHoughLinesHoughLinesHoughLineshough_lines liefert den Wert 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>)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>)set_system("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)set_system("empty_region_result",<Result>) bestimmt. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

thresholdthresholdThresholdThresholdThresholdthreshold, skeletonskeletonSkeletonSkeletonSkeletonskeleton

Nachfolger

select_matching_linesselect_matching_linesSelectMatchingLinesSelectMatchingLinesSelectMatchingLinesselect_matching_lines

Siehe auch

hough_line_transhough_line_transHoughLineTransHoughLineTransHoughLineTranshough_line_trans, gen_region_hlinegen_region_hlineGenRegionHlineGenRegionHlineGenRegionHlinegen_region_hline, hough_circleshough_circlesHoughCirclesHoughCirclesHoughCircleshough_circles

Modul

Foundation