KlassenKlassenKlassenKlassen | | | | Operatoren

union_collinear_contours_ext_xldunion_collinear_contours_ext_xldUnionCollinearContoursExtXldunion_collinear_contours_ext_xldUnionCollinearContoursExtXldUnionCollinearContoursExtXld (Operator)

Name

union_collinear_contours_ext_xldunion_collinear_contours_ext_xldUnionCollinearContoursExtXldunion_collinear_contours_ext_xldUnionCollinearContoursExtXldUnionCollinearContoursExtXld — Vereinigen von kollinearen Konturen (Operator mit erweitertem Funktionsumfang).

Signatur

union_collinear_contours_ext_xld(Contours : UnionContours : MaxDistAbs, MaxDistRel, MaxShift, MaxAngle, MaxOverlap, MaxRegrError, MaxCosts, WeightDist, WeightShift, WeightAngle, WeightLink, WeightRegr, Mode : )

Herror union_collinear_contours_ext_xld(const Hobject Contours, Hobject* UnionContours, double MaxDistAbs, double MaxDistRel, double MaxShift, double MaxAngle, double MaxOverlap, double MaxRegrError, double MaxCosts, double WeightDist, double WeightShift, double WeightAngle, double WeightLink, double WeightRegr, const char* Mode)

Herror T_union_collinear_contours_ext_xld(const Hobject Contours, Hobject* UnionContours, const Htuple MaxDistAbs, const Htuple MaxDistRel, const Htuple MaxShift, const Htuple MaxAngle, const Htuple MaxOverlap, const Htuple MaxRegrError, const Htuple MaxCosts, const Htuple WeightDist, const Htuple WeightShift, const Htuple WeightAngle, const Htuple WeightLink, const Htuple WeightRegr, const Htuple Mode)

Herror union_collinear_contours_ext_xld(Hobject Contours, Hobject* UnionContours, const HTuple& MaxDistAbs, const HTuple& MaxDistRel, const HTuple& MaxShift, const HTuple& MaxAngle, const HTuple& MaxOverlap, const HTuple& MaxRegrError, const HTuple& MaxCosts, const HTuple& WeightDist, const HTuple& WeightShift, const HTuple& WeightAngle, const HTuple& WeightLink, const HTuple& WeightRegr, const HTuple& Mode)

HXLDContArray HXLDContArray::UnionCollinearContoursExtXld(const HTuple& MaxDistAbs, const HTuple& MaxDistRel, const HTuple& MaxShift, const HTuple& MaxAngle, const HTuple& MaxOverlap, const HTuple& MaxRegrError, const HTuple& MaxCosts, const HTuple& WeightDist, const HTuple& WeightShift, const HTuple& WeightAngle, const HTuple& WeightLink, const HTuple& WeightRegr, const HTuple& Mode) const

void UnionCollinearContoursExtXld(const HObject& Contours, HObject* UnionContours, const HTuple& MaxDistAbs, const HTuple& MaxDistRel, const HTuple& MaxShift, const HTuple& MaxAngle, const HTuple& MaxOverlap, const HTuple& MaxRegrError, const HTuple& MaxCosts, const HTuple& WeightDist, const HTuple& WeightShift, const HTuple& WeightAngle, const HTuple& WeightLink, const HTuple& WeightRegr, const HTuple& Mode)

HXLDCont HXLDCont::UnionCollinearContoursExtXld(double MaxDistAbs, double MaxDistRel, double MaxShift, double MaxAngle, double MaxOverlap, double MaxRegrError, double MaxCosts, double WeightDist, double WeightShift, double WeightAngle, double WeightLink, double WeightRegr, const HString& Mode) const

HXLDCont HXLDCont::UnionCollinearContoursExtXld(double MaxDistAbs, double MaxDistRel, double MaxShift, double MaxAngle, double MaxOverlap, double MaxRegrError, double MaxCosts, double WeightDist, double WeightShift, double WeightAngle, double WeightLink, double WeightRegr, const char* Mode) const

void HOperatorSetX.UnionCollinearContoursExtXld(
[in] IHUntypedObjectX* Contours, [out] IHUntypedObjectX*UnionContours, [in] VARIANT MaxDistAbs, [in] VARIANT MaxDistRel, [in] VARIANT MaxShift, [in] VARIANT MaxAngle, [in] VARIANT MaxOverlap, [in] VARIANT MaxRegrError, [in] VARIANT MaxCosts, [in] VARIANT WeightDist, [in] VARIANT WeightShift, [in] VARIANT WeightAngle, [in] VARIANT WeightLink, [in] VARIANT WeightRegr, [in] VARIANT Mode)

IHXLDContX* HXLDContX.UnionCollinearContoursExtXld(
[in] double MaxDistAbs, [in] double MaxDistRel, [in] double MaxShift, [in] double MaxAngle, [in] double MaxOverlap, [in] double MaxRegrError, [in] double MaxCosts, [in] double WeightDist, [in] double WeightShift, [in] double WeightAngle, [in] double WeightLink, [in] double WeightRegr, [in] BSTR Mode)

static void HOperatorSet.UnionCollinearContoursExtXld(HObject contours, out HObject unionContours, HTuple maxDistAbs, HTuple maxDistRel, HTuple maxShift, HTuple maxAngle, HTuple maxOverlap, HTuple maxRegrError, HTuple maxCosts, HTuple weightDist, HTuple weightShift, HTuple weightAngle, HTuple weightLink, HTuple weightRegr, HTuple mode)

HXLDCont HXLDCont.UnionCollinearContoursExtXld(double maxDistAbs, double maxDistRel, double maxShift, double maxAngle, double maxOverlap, double maxRegrError, double maxCosts, double weightDist, double weightShift, double weightAngle, double weightLink, double weightRegr, string mode)

Beschreibung

Wie der Operator union_collinear_contours_xldunion_collinear_contours_xldUnionCollinearContoursXldunion_collinear_contours_xldUnionCollinearContoursXldUnionCollinearContoursXld vereinigt union_collinear_contours_ext_xldunion_collinear_contours_ext_xldUnionCollinearContoursExtXldunion_collinear_contours_ext_xldUnionCollinearContoursExtXldUnionCollinearContoursExtXld aus einer Menge von geraden, linienförmige Konturen (ContoursContoursContoursContoursContourscontours) diejenigen miteinander, die zueinander kollinear sind, und gibt das Ergebnis in UnionContoursUnionContoursUnionContoursUnionContoursUnionContoursunionContours zurück. Das grundsätzliche Verhalten ist identisch zu union_collinear_contours_xldunion_collinear_contours_xldUnionCollinearContoursXldunion_collinear_contours_xldUnionCollinearContoursXldUnionCollinearContoursXld und wird dort beschrieben, es stehen jedoch zahlreiche weitere Parameter zur Verfügung, die es erlauben, den Vereinigungsprozess genauer zu steuern.

Parameter

Die Parameter MaxDistAbsMaxDistAbsMaxDistAbsMaxDistAbsMaxDistAbsmaxDistAbs, MaxDistRelMaxDistRelMaxDistRelMaxDistRelMaxDistRelmaxDistRel, MaxShiftMaxShiftMaxShiftMaxShiftMaxShiftmaxShift und MaxAngleMaxAngleMaxAngleMaxAngleMaxAnglemaxAngle sind identisch wie wie beim Operator union_collinear_contours_xldunion_collinear_contours_xldUnionCollinearContoursXldunion_collinear_contours_xldUnionCollinearContoursXldUnionCollinearContoursXld beschrieben.

MaxOverlapMaxOverlapMaxOverlapMaxOverlapMaxOverlapmaxOverlap

Zusätzlich lässt sich hier mit MaxOverlapMaxOverlapMaxOverlapMaxOverlapMaxOverlapmaxOverlap ein Überlappungsbereich zwischen beiden Konturen definieren, so dass auch Konturen, die sich (geringfügig) überlappen, miteinander vereinigt werden können. Intern wird dabei sichergestellt, dass sich -- unabhängig von dem mit MaxOverlapMaxOverlapMaxOverlapMaxOverlapMaxOverlapmaxOverlap übergebenen Parameter -- die Konturen nicht um mehr als ein Drittel ihrer Länge überlappen.

image/svg+xml a b

MaxRegrErrorMaxRegrErrorMaxRegrErrorMaxRegrErrorMaxRegrErrormaxRegrError

Der Parameter MaxRegrErrorMaxRegrErrorMaxRegrErrorMaxRegrErrorMaxRegrErrormaxRegrError wird z.Zt. noch nicht verwendet. Er soll später sicherstellen, dass nach der Vereinigung zweier Konturen die resultierende Kontur nicht zu stark von ihrer Regressionsgeraden abweicht. Dieser Wert ist defaultmäßig ausgeschaltet (-1), da er unter normalen Bedingungen nicht notwendig und der Rechenaufwand sehr hoch ist. Unter bestimmten Bedingungen können jedoch Ergebniskonturen entstehen, die relativ stark um ihre Regressionsgerade schwanken („wellige“ Eingangskonturen, Shift und Winkeldifferenz nah an den -- relativ hoch eingestellten -- Grenzen, rekursive Vereinigung sehr vieler kurzer Konturen).

MaxCostsMaxCostsMaxCostsMaxCostsMaxCostsmaxCosts

Mit dem Parameter MaxCostsMaxCostsMaxCostsMaxCostsMaxCostsmaxCosts ist es möglich, die Gesamtkosten der Vereinigung zu begrenzen und so nicht nur die Vereinigung der Konturpaare auszuschließen, die in einer Disziplin die vorgegebenen Grenzwerte überschreiten, sondern auch jener, die in mehreren Disziplinen die Grenzen nur knapp einhalten können. Dabei werden die Kosten immer auf einen Wert zwischen 0 und 1 normiert, der Wert 1 bedeutet dabei, dass alle Werte auf dem jeweiligen Grenzwert liegen.

WeightDistWeightDistWeightDistWeightDistWeightDistweightDist, WeightShiftWeightShiftWeightShiftWeightShiftWeightShiftweightShift, WeightAngleWeightAngleWeightAngleWeightAngleWeightAngleweightAngle, WeightLinkWeightLinkWeightLinkWeightLinkWeightLinkweightLink, and WeightRegrWeightRegrWeightRegrWeightRegrWeightRegrweightRegr

Der Einfluss der verschiedenen Messwerte auf die Gesamtkosten wird durch die Übergabe einer entsprechenden Gewichtung mit Hilfe der Parameter WeightDistWeightDistWeightDistWeightDistWeightDistweightDist, WeightShiftWeightShiftWeightShiftWeightShiftWeightShiftweightShift, WeightAngleWeightAngleWeightAngleWeightAngleWeightAngleweightAngle, WeightLinkWeightLinkWeightLinkWeightLinkWeightLinkweightLink und WeightRegrWeightRegrWeightRegrWeightRegrWeightRegrweightRegr eingestellt. Dabei ist zu beachten, dass die Gesamtkosten immer auf 1 normiert werden. Der Parameter WeightRegrWeightRegrWeightRegrWeightRegrWeightRegrweightRegr wird z.Zt. nicht verwendet.

ModeModeModeModeModemode

Der Parameter ModeModeModeModeModemode steuert -- wie beim Operator union_collinear_contours_xldunion_collinear_contours_xldUnionCollinearContoursXldunion_collinear_contours_xldUnionCollinearContoursXldUnionCollinearContoursXld -- die Behandlung der Attribute der Eingabekontur.

Parallelisierung

Parameter

ContoursContoursContoursContoursContourscontours (input_object)  xld_cont-array objectHXLDContHXLDContHXLDContArrayHXLDContXHobject

Eingabe-Konturen.

UnionContoursUnionContoursUnionContoursUnionContoursUnionContoursunionContours (output_object)  xld_cont-array objectHXLDContHXLDContHXLDContArrayHXLDContXHobject *

Ausgabe-Konturen.

MaxDistAbsMaxDistAbsMaxDistAbsMaxDistAbsMaxDistAbsmaxDistAbs (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Maximaler Abstand der Endpunkte in Richtung der Referenzregressionsgeraden.

Defaultwert: 10.0

Typischer Wertebereich: 0.0 ≤ MaxDistAbs MaxDistAbs MaxDistAbs MaxDistAbs MaxDistAbs maxDistAbs

MaxDistRelMaxDistRelMaxDistRelMaxDistRelMaxDistRelmaxDistRel (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Maximaler Abstand der Endpunkte in Richtung der Referenzregressionsgeraden relativ zur Länge der zu verlängernden Kontur.

Defaultwert: 1.0

Typischer Wertebereich: 0.0 ≤ MaxDistRel MaxDistRel MaxDistRel MaxDistRel MaxDistRel maxDistRel

MaxShiftMaxShiftMaxShiftMaxShiftMaxShiftmaxShift (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Maximaler Abstand der Konturen von der Referenzregressionsgeraden.

Defaultwert: 2.0

Typischer Wertebereich: 0.0 ≤ MaxShift MaxShift MaxShift MaxShift MaxShift maxShift

MaxAngleMaxAngleMaxAngleMaxAngleMaxAnglemaxAngle (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Maximale Richtungsdifferenz.

Defaultwert: 0.1

Typischer Wertebereich: 0.0 ≤ MaxAngle MaxAngle MaxAngle MaxAngle MaxAngle maxAngle ≤ 0.78539816339

MaxOverlapMaxOverlapMaxOverlapMaxOverlapMaxOverlapmaxOverlap (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Maximal erlaubter Überlappungsbereich.

Defaultwert: 0.0

Typischer Wertebereich: 0.0 ≤ MaxOverlap MaxOverlap MaxOverlap MaxOverlap MaxOverlap maxOverlap

MaxRegrErrorMaxRegrErrorMaxRegrErrorMaxRegrErrorMaxRegrErrormaxRegrError (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Maximaler Regressionsfehler der resultierenden Konturen (NICHT BENUTZT).

Defaultwert: -1.0

MaxCostsMaxCostsMaxCostsMaxCostsMaxCostsmaxCosts (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Schwellwert zum Begrenzen der Gesamtkosten der Vereinigung

Defaultwert: 1.0

Typischer Wertebereich: 0.0 ≤ MaxCosts MaxCosts MaxCosts MaxCosts MaxCosts maxCosts

WeightDistWeightDistWeightDistWeightDistWeightDistweightDist (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Einfluss des Abstandes in Linienrichtung auf die Gesamtkosten.

Defaultwert: 1.0

Typischer Wertebereich: 0.0 ≤ WeightDist WeightDist WeightDist WeightDist WeightDist weightDist

WeightShiftWeightShiftWeightShiftWeightShiftWeightShiftweightShift (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Einfluss des Abstandes von der Regressionsgeraden auf die Gesamtkosten.

Defaultwert: 1.0

Typischer Wertebereich: 0.0 ≤ WeightShift WeightShift WeightShift WeightShift WeightShift weightShift

WeightAngleWeightAngleWeightAngleWeightAngleWeightAngleweightAngle (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Einfluss der Winkeldifferenz auf die Gesamtkosten.

Defaultwert: 1.0

Typischer Wertebereich: 0.0 ≤ WeightAngle WeightAngle WeightAngle WeightAngle WeightAngle weightAngle

WeightLinkWeightLinkWeightLinkWeightLinkWeightLinkweightLink (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Einfluss von Störungen der Linie durch das Verbindungsstück (Überlappung und Winkelabweichung) auf die Gesamtkosten.

Defaultwert: 1.0

Typischer Wertebereich: 0.0 ≤ WeightLink WeightLink WeightLink WeightLink WeightLink weightLink

WeightRegrWeightRegrWeightRegrWeightRegrWeightRegrweightRegr (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Einfluss von Regressionsfehlern der resultierenden Kontur auf die Gesamtkosten (NICHT BENUTZT).

Defaultwert: 0.0

Typischer Wertebereich: 0.0 ≤ WeightRegr WeightRegr WeightRegr WeightRegr WeightRegr weightRegr

ModeModeModeModeModemode (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Modus für die Behandlung der Konturattribute

Defaultwert: 'attr_keep' "attr_keep" "attr_keep" "attr_keep" "attr_keep" "attr_keep"

Werteliste: 'attr_forget'"attr_forget""attr_forget""attr_forget""attr_forget""attr_forget", 'attr_keep'"attr_keep""attr_keep""attr_keep""attr_keep""attr_keep"

Vorgänger

split_contours_xldsplit_contours_xldSplitContoursXldsplit_contours_xldSplitContoursXldSplitContoursXld, select_contours_xldselect_contours_xldSelectContoursXldselect_contours_xldSelectContoursXldSelectContoursXld

Alternativen

union_collinear_contours_xldunion_collinear_contours_xldUnionCollinearContoursXldunion_collinear_contours_xldUnionCollinearContoursXldUnionCollinearContoursXld, union_cocircular_contours_xldunion_cocircular_contours_xldUnionCocircularContoursXldunion_cocircular_contours_xldUnionCocircularContoursXldUnionCocircularContoursXld, union_cotangential_contours_xldunion_cotangential_contours_xldUnionCotangentialContoursXldunion_cotangential_contours_xldUnionCotangentialContoursXldUnionCotangentialContoursXld, union_adjacent_contours_xldunion_adjacent_contours_xldUnionAdjacentContoursXldunion_adjacent_contours_xldUnionAdjacentContoursXldUnionAdjacentContoursXld, union_straight_contours_xldunion_straight_contours_xldUnionStraightContoursXldunion_straight_contours_xldUnionStraightContoursXldUnionStraightContoursXld

Siehe auch

edges_sub_pixedges_sub_pixEdgesSubPixedges_sub_pixEdgesSubPixEdgesSubPix, threshold_sub_pixthreshold_sub_pixThresholdSubPixthreshold_sub_pixThresholdSubPixThresholdSubPix, gen_polygons_xldgen_polygons_xldGenPolygonsXldgen_polygons_xldGenPolygonsXldGenPolygonsXld, split_contours_xldsplit_contours_xldSplitContoursXldsplit_contours_xldSplitContoursXldSplitContoursXld, select_contours_xldselect_contours_xldSelectContoursXldselect_contours_xldSelectContoursXldSelectContoursXld, get_contour_xldget_contour_xldGetContourXldget_contour_xldGetContourXldGetContourXld, get_contour_attrib_xldget_contour_attrib_xldGetContourAttribXldget_contour_attrib_xldGetContourAttribXldGetContourAttribXld

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren