KlassenKlassenKlassenKlassen | | | | Operatoren

select_matching_linesselect_matching_linesSelectMatchingLinesselect_matching_linesSelectMatchingLinesSelectMatchingLines (Operator)

Name

select_matching_linesselect_matching_linesSelectMatchingLinesselect_matching_linesSelectMatchingLinesSelectMatchingLines — Wählt aus einer Menge von Linien (Hessesche Normalform) die Linien aus, die am besten in eine Eingaberegion passen.

Signatur

select_matching_lines(RegionIn : RegionLines : AngleIn, DistIn, LineWidth, Thresh : AngleOut, DistOut)

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)

Herror select_matching_lines(Hobject RegionIn, Hobject* RegionLines, const HTuple& AngleIn, const HTuple& DistIn, const HTuple& LineWidth, const HTuple& Thresh, double* AngleOut, double* DistOut)

Herror select_matching_lines(Hobject RegionIn, Hobject* RegionLines, const HTuple& AngleIn, const HTuple& DistIn, const HTuple& LineWidth, const HTuple& Thresh, HTuple* AngleOut, HTuple* DistOut)

HRegionArray HRegion::SelectMatchingLines(const HTuple& AngleIn, const HTuple& DistIn, const HTuple& LineWidth, const HTuple& Thresh, HTuple* AngleOut, HTuple* DistOut) const

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

void HOperatorSetX.SelectMatchingLines(
[in] IHUntypedObjectX* RegionIn, [out] IHUntypedObjectX*RegionLines, [in] VARIANT AngleIn, [in] VARIANT DistIn, [in] VARIANT LineWidth, [in] VARIANT Thresh, [out] VARIANT* AngleOut, [out] VARIANT* DistOut)

IHRegionX* HRegionX.SelectMatchingLines(
[in] VARIANT AngleIn, [in] VARIANT DistIn, [in] Hlong LineWidth, [in] Hlong Thresh, [out] VARIANT* AngleOut, [out] VARIANT* DistOut)

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)

Beschreibung

Mit select_matching_linesselect_matching_linesSelectMatchingLinesselect_matching_linesSelectMatchingLinesSelectMatchingLines können aus einer Menge von Linien, die in Hessescher Normalform vorliegen zu einer ebenfalls als Parameter übergebenen Region (RegionInRegionInRegionInRegionInRegionInregionIn) die Linien ausgewählt werden, die am besten in die Region hineinpassen. Mit LineWidthLineWidthLineWidthLineWidthLineWidthlineWidth 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.

Parallelisierung

Parameter

RegionInRegionInRegionInRegionInRegionInregionIn (input_object)  region objectHRegionHRegionHRegionHRegionXHobject

Region, in denen die Linien gematcht werden sollen.

RegionLinesRegionLinesRegionLinesRegionLinesRegionLinesregionLines (output_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject *

Regionen-Array, mit den gematchten Linien.

AngleInAngleInAngleInAngleInAngleInangleIn (input_control)  hesseline.angle.rad(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

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

Typischer Wertebereich: -1.5707963 ≤ AngleIn AngleIn AngleIn AngleIn AngleIn angleIn ≤ 3.1415927

DistInDistInDistInDistInDistIndistIn (input_control)  hesseline.distance(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Abstände der Eingabe-Linien vom Koordinatenursprung.

Parameteranzahl: DistIn == AngleIn

LineWidthLineWidthLineWidthLineWidthLineWidthlineWidth (input_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Breite der Linien.

Defaultwert: 7

Typischer Wertebereich: 1 ≤ LineWidth LineWidth LineWidth LineWidth LineWidth lineWidth

ThreshThreshThreshThreshThreshthresh (input_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Schwellenwert für die Anzahl der Linienpunkte in der Region.

Defaultwert: 100

Typischer Wertebereich: 1 ≤ Thresh Thresh Thresh Thresh Thresh thresh

AngleOutAngleOutAngleOutAngleOutAngleOutangleOut (output_control)  hesseline.angle.rad(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

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

Parameteranzahl: AngleOut <= AngleIn

Typischer Wertebereich: -1.5707963 ≤ AngleOut AngleOut AngleOut AngleOut AngleOut angleOut ≤ 3.1415927

DistOutDistOutDistOutDistOutDistOutdistOut (output_control)  hesseline.distance(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Abstände der selektierten Linien vom Koordinatenursprung.

Parameteranzahl: DistOut == AngleOut

Typischer Wertebereich: 0 ≤ DistOut DistOut DistOut DistOut DistOut distOut

Ergebnis

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

Vorgänger

hough_lineshough_linesHoughLineshough_linesHoughLinesHoughLines

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren