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.

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: AngleGapAngleGapAngleGapAngleGapangleGapangle_gap beschreibt den minimalen Abstand zweier Maxima im Hough-Bild in Richtung des Winkels und DistGapDistGapDistGapDistGapdistGapdist_gap entsprechend in Richtung der Distanz. Dadurch werden Maxima, die zwar die vorgegebene Schwelle ThresholdThresholdThresholdThresholdthresholdthreshold ü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 AngleAngleAngleAngleangleangle und Länge DistDistDistDistdistdist ihres Normalenvektors repräsentiert.

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