select_matching_linesselect_matching_linesSelectMatchingLinesSelectMatchingLinesselect_matching_lines (Operator)
Name
select_matching_linesselect_matching_linesSelectMatchingLinesSelectMatchingLinesselect_matching_lines — Wählt aus einer Menge von Linien (Hessesche Normalform) die Linien aus,
die am besten in eine Eingaberegion passen.
Signatur
Herror select_matching_lines(const Hobject RegionIn, Hobject* RegionLines, double AngleIn, double DistIn, const Hlong LineWidth, const Hlong Thresh, double* AngleOut, double* DistOut)
Herror T_select_matching_lines(const Hobject RegionIn, Hobject* RegionLines, const Htuple AngleIn, const Htuple DistIn, const Htuple LineWidth, const Htuple Thresh, Htuple* AngleOut, Htuple* DistOut)
void SelectMatchingLines(const HObject& RegionIn, HObject* RegionLines, const HTuple& AngleIn, const HTuple& DistIn, const HTuple& LineWidth, const HTuple& Thresh, HTuple* AngleOut, HTuple* DistOut)
HRegion HRegion::SelectMatchingLines(const HTuple& AngleIn, const HTuple& DistIn, Hlong LineWidth, Hlong Thresh, HTuple* AngleOut, HTuple* DistOut) const
HRegion HRegion::SelectMatchingLines(double AngleIn, double DistIn, Hlong LineWidth, Hlong Thresh, double* AngleOut, double* DistOut) const
static void HOperatorSet.SelectMatchingLines(HObject regionIn, out HObject regionLines, HTuple angleIn, HTuple distIn, HTuple lineWidth, HTuple thresh, out HTuple angleOut, out HTuple distOut)
HRegion HRegion.SelectMatchingLines(HTuple angleIn, HTuple distIn, int lineWidth, int thresh, out HTuple angleOut, out HTuple distOut)
HRegion HRegion.SelectMatchingLines(double angleIn, double distIn, int lineWidth, int thresh, out double angleOut, out double distOut)
def select_matching_lines(region_in: HObject, angle_in: MaybeSequence[float], dist_in: MaybeSequence[float], line_width: int, thresh: int) -> Tuple[HObject, Sequence[float], Sequence[float]]
def select_matching_lines_s(region_in: HObject, angle_in: MaybeSequence[float], dist_in: MaybeSequence[float], line_width: int, thresh: int) -> Tuple[HObject, float, float]
Beschreibung
Mit select_matching_linesselect_matching_linesSelectMatchingLinesSelectMatchingLinesSelectMatchingLinesselect_matching_lines können aus einer Menge von Linien,
die in Hessescher Normalform vorliegen zu einer ebenfalls als Parameter
übergebenen Region (RegionInRegionInRegionInRegionInregionInregion_in) die Linien ausgewählt werden,
die am besten in die Region hineinpassen. Mit LineWidthLineWidthLineWidthLineWidthlineWidthline_width kann
die Breite der Linien angegeben werden. Die selektierten Linien werden
sowohl in Hessescher Normalform als auch als Regionen zurückgeliefert.
Die Auswahl der Linien erfolgt iterativ: In einer Schleife wird als
erstes die Linie aus der Menge der Eingabelinien ausgewählt, die die
größte Überschneidung mit der Eingaberegion besitzt. Diese Linie wird
in die Ausgabemenge übernommen, alle Punkte, die zu dieser Linie gehören,
werden im Folgenden nicht mehr für die Bestimmung von Überschneidungen
berücksichtigt. Unterschreitet, die maximale Überschneidung zwischen
der Region und den Linien einen Schwellenwert (ThreshThreshThreshThreshthreshthresh), wird
die Schleife verlassen. Die ausgewählten Linien werden sowohl als Regionen,
als auch in Hessescher Normalform zurückgegeben.
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Parameter
RegionInRegionInRegionInRegionInregionInregion_in (input_object) region → objectHRegionHObjectHRegionHobject
Region, in denen die Linien gematcht werden sollen.
RegionLinesRegionLinesRegionLinesRegionLinesregionLinesregion_lines (output_object) region(-array) → objectHRegionHObjectHRegionHobject *
Regionen-Array, mit den gematchten Linien.
AngleInAngleInAngleInAngleInangleInangle_in (input_control) hesseline.angle.rad(-array) → HTupleMaybeSequence[float]HTupleHtuple (real) (double) (double) (double)
Winkel (im Bogenmaß) der Normalen-Vektoren der
Eingabe-Linien.
Typischer Wertebereich: -1.5707963
≤
AngleIn
AngleIn
AngleIn
AngleIn
angleIn
angle_in
≤
3.1415927
DistInDistInDistInDistIndistIndist_in (input_control) hesseline.distance(-array) → HTupleMaybeSequence[float]HTupleHtuple (real) (double) (double) (double)
Abstände der Eingabe-Linien vom Koordinatenursprung.
Parameteranzahl: DistIn == AngleIn
LineWidthLineWidthLineWidthLineWidthlineWidthline_width (input_control) integer → HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Breite der Linien.
Defaultwert: 7
Typischer Wertebereich: 1
≤
LineWidth
LineWidth
LineWidth
LineWidth
lineWidth
line_width
ThreshThreshThreshThreshthreshthresh (input_control) integer → HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Schwellenwert für die Anzahl der Linienpunkte in
der Region.
Defaultwert: 100
Typischer Wertebereich: 1
≤
Thresh
Thresh
Thresh
Thresh
thresh
thresh
AngleOutAngleOutAngleOutAngleOutangleOutangle_out (output_control) hesseline.angle.rad(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Winkel (im Bogenmaß) der Normalen-Vektoren der
selektierten Linien.
Parameteranzahl: AngleOut <= AngleIn
Typischer Wertebereich: -1.5707963
≤
AngleOut
AngleOut
AngleOut
AngleOut
angleOut
angle_out
≤
3.1415927
DistOutDistOutDistOutDistOutdistOutdist_out (output_control) hesseline.distance(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Abstände der selektierten Linien vom
Koordinatenursprung.
Parameteranzahl: DistOut == AngleOut
Typischer Wertebereich: 0
≤
DistOut
DistOut
DistOut
DistOut
distOut
dist_out
Ergebnis
select_matching_linesselect_matching_linesSelectMatchingLinesSelectMatchingLinesSelectMatchingLinesselect_matching_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
hough_lineshough_linesHoughLinesHoughLinesHoughLineshough_lines
Modul
Foundation