Name
moments_any_xldmoments_any_xldMomentsAnyXldmoments_any_xldMomentsAnyXldMomentsAnyXld — Geometrische Momente beliebiger Ordnung von Konturen oder Polygonen.
Herror moments_any_xld(const Hobject XLD, const char* Mode, const char* PointOrder, double Area, double CenterRow, double CenterCol, const Hlong P, const Hlong Q, double* M)
Herror T_moments_any_xld(const Hobject XLD, const Htuple Mode, const Htuple PointOrder, const Htuple Area, const Htuple CenterRow, const Htuple CenterCol, const Htuple P, const Htuple Q, Htuple* M)
Herror moments_any_xld(Hobject XLD, const HTuple& Mode, const HTuple& PointOrder, const HTuple& Area, const HTuple& CenterRow, const HTuple& CenterCol, const HTuple& P, const HTuple& Q, double* M)
Herror moments_any_xld(Hobject XLD, const HTuple& Mode, const HTuple& PointOrder, const HTuple& Area, const HTuple& CenterRow, const HTuple& CenterCol, const HTuple& P, const HTuple& Q, HTuple* M)
double HXLD::MomentsAnyXld(const HTuple& Mode, const HTuple& PointOrder, const HTuple& Area, const HTuple& CenterRow, const HTuple& CenterCol, const HTuple& P, const HTuple& Q) const
HTuple HXLDArray::MomentsAnyXld(const HTuple& Mode, const HTuple& PointOrder, const HTuple& Area, const HTuple& CenterRow, const HTuple& CenterCol, const HTuple& P, const HTuple& Q) const
void MomentsAnyXld(const HObject& XLD, const HTuple& Mode, const HTuple& PointOrder, const HTuple& Area, const HTuple& CenterRow, const HTuple& CenterCol, const HTuple& P, const HTuple& Q, HTuple* M)
HTuple HXLD::MomentsAnyXld(const HString& Mode, const HTuple& PointOrder, const HTuple& Area, const HTuple& CenterRow, const HTuple& CenterCol, const HTuple& P, const HTuple& Q) const
double HXLD::MomentsAnyXld(const HString& Mode, const HString& PointOrder, double Area, double CenterRow, double CenterCol, Hlong P, Hlong Q) const
double HXLD::MomentsAnyXld(const char* Mode, const char* PointOrder, double Area, double CenterRow, double CenterCol, Hlong P, Hlong Q) const
void HOperatorSetX.MomentsAnyXld(
[in] IHUntypedObjectX* XLD, [in] VARIANT Mode, [in] VARIANT PointOrder, [in] VARIANT Area, [in] VARIANT CenterRow, [in] VARIANT CenterCol, [in] VARIANT P, [in] VARIANT Q, [out] VARIANT* M)
VARIANT HXLDX.MomentsAnyXld(
[in] BSTR Mode, [in] VARIANT PointOrder, [in] VARIANT Area, [in] VARIANT CenterRow, [in] VARIANT CenterCol, [in] VARIANT P, [in] VARIANT Q)
VARIANT HXLDContX.MomentsAnyXld(
[in] BSTR Mode, [in] VARIANT PointOrder, [in] VARIANT Area, [in] VARIANT CenterRow, [in] VARIANT CenterCol, [in] VARIANT P, [in] VARIANT Q)
VARIANT HXLDPolyX.MomentsAnyXld(
[in] BSTR Mode, [in] VARIANT PointOrder, [in] VARIANT Area, [in] VARIANT CenterRow, [in] VARIANT CenterCol, [in] VARIANT P, [in] VARIANT Q)
VARIANT HXLDParaX.MomentsAnyXld(
[in] BSTR Mode, [in] VARIANT PointOrder, [in] VARIANT Area, [in] VARIANT CenterRow, [in] VARIANT CenterCol, [in] VARIANT P, [in] VARIANT Q)
VARIANT HXLDModParaX.MomentsAnyXld(
[in] BSTR Mode, [in] VARIANT PointOrder, [in] VARIANT Area, [in] VARIANT CenterRow, [in] VARIANT CenterCol, [in] VARIANT P, [in] VARIANT Q)
VARIANT HXLDExtParaX.MomentsAnyXld(
[in] BSTR Mode, [in] VARIANT PointOrder, [in] VARIANT Area, [in] VARIANT CenterRow, [in] VARIANT CenterCol, [in] VARIANT P, [in] VARIANT Q)
static void HOperatorSet.MomentsAnyXld(HObject XLD, HTuple mode, HTuple pointOrder, HTuple area, HTuple centerRow, HTuple centerCol, HTuple p, HTuple q, out HTuple m)
HTuple HXLD.MomentsAnyXld(string mode, HTuple pointOrder, HTuple area, HTuple centerRow, HTuple centerCol, HTuple p, HTuple q)
double HXLD.MomentsAnyXld(string mode, string pointOrder, double area, double centerRow, double centerCol, int p, int q)
moments_any_xldmoments_any_xldMomentsAnyXldmoments_any_xldMomentsAnyXldMomentsAnyXld berechnet Momente beliebiger Ordnung der von
Konturen oder Polygonen XLDXLDXLDXLDXLDXLD umschlossenen Bildregionen.
Die Momente werden durch Anwendung des Gaußschen Integralsatzes nur
unter Verwendung der Kontur- oder Polygonpunkte berechnet, d.h. es
wird keine explizite Fläche zur Berechnung erzeugt. Es wird
vorausgesetzt, dass die Konturen bzw. Polygone geschlossen sind. Ist das
nicht der Fall, werden sie künstlich geschlossen.
Es ist zu beachten, dass moments_any_xldmoments_any_xldMomentsAnyXldmoments_any_xldMomentsAnyXldMomentsAnyXld nur dann sinnvolle
Ergebnisse liefert, falls die Kontur oder das Polygon eine Fläche in
der Ebene einschließt. Insbesondere darf sich die Kontur oder das
Polygon nicht selbst schneiden. Dies ist insbesondere dann zu
beachten, wenn offene Konturen und Polygone übergeben werden, da
diese automatisch geschlossen werden, was dazu führen kann, dass sich
die Kontur oder das Polygon selbst schneidet. Ob sich die Konturen
oder Polygone selbst schneiden, kann leicht mit
test_self_intersection_xldtest_self_intersection_xldTestSelfIntersectionXldtest_self_intersection_xldTestSelfIntersectionXldTestSelfIntersectionXld überprüft werden. Falls sich die
Kontur oder das Polygon selbst schneidet, kann ein sinnvoller Wert
für die Momente mit moments_any_points_xldmoments_any_points_xldMomentsAnyPointsXldmoments_any_points_xldMomentsAnyPointsXldMomentsAnyPointsXld berechnet werden.
Abhängig vom Parameter ModeModeModeModeModemode werden die berechneten Momente
wie folgt nomiert:
ModeModeModeModeModemode:
- 'unnormalized':
Keine Normalisierung
- 'unnormalized_central':
Verschiebung der Bildregion um ihren
Schwerpunkt
- 'normalized':
Normalisierung durch die Fläche A = AreaAreaAreaAreaAreaarea
der eingeschlossenen Bildregion
- 'central':
Normalisierung durch die Fläche A = AreaAreaAreaAreaAreaarea
der eingeschlossenen
Bildregion und zusätzlich Verschiebung der Bildregion um
ihren Schwerpunkt
Für die Normierung der Momente werden ggf. drei spezielle Momente
benötigt: Die Fläche AreaAreaAreaAreaAreaarea der eingeschlossenen Bildregion
sowie die Koordinaten CenterRowCenterRowCenterRowCenterRowCenterRowcenterRow,CenterColCenterColCenterColCenterColCenterColcenterCol des
Schwerpunktes, vgl. area_center_xldarea_center_xldAreaCenterXldarea_center_xldAreaCenterXldAreaCenterXld. Außerdem erwartet
moments_any_xldmoments_any_xldMomentsAnyXldmoments_any_xldMomentsAnyXldMomentsAnyXld den Umlaufsinn der Eingabekonturen
bzw. -polygone in PointOrderPointOrderPointOrderPointOrderPointOrderpointOrder (diese Werte können mit
area_center_xldarea_center_xldAreaCenterXldarea_center_xldAreaCenterXldAreaCenterXld berechnet werden). Wird mehr als eine Kontur oder
ein Polygon übergeben, dann werden die Momente für die einzelnen Konturen
bzw. Polygone hintereinander in MMMMMm abgelegt.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Zu untersuchende Konturen bzw. Polygone.
Modus.
Defaultwert:
'unnormalized'
"unnormalized"
"unnormalized"
"unnormalized"
"unnormalized"
"unnormalized"
Wertevorschläge: 'unnormalized'"unnormalized""unnormalized""unnormalized""unnormalized""unnormalized", 'unnormalized_central'"unnormalized_central""unnormalized_central""unnormalized_central""unnormalized_central""unnormalized_central", 'normalized'"normalized""normalized""normalized""normalized""normalized", 'central'"central""central""central""central""central"
Mathematischer Umlaufsinn der Stützpunkte.
Defaultwert:
'positive'
"positive"
"positive"
"positive"
"positive"
"positive"
Wertevorschläge: 'positive'"positive""positive""positive""positive""positive", 'negative'"negative""negative""negative""negative""negative"
Fläche, die von der Kontur eingeschlossen wird.
Zeilenindex des Schwerpunktes.
Spaltenindex des Schwerpunktes.
PPPPPp (input_control) point.x(-array) → HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)
Erster Index der zu berechnenden Momente
M[P,Q].
Defaultwert: 1
Wertevorschläge: 0, 1, 2, 3, 4
QQQQQq (input_control) point.x(-array) → HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)
Zweiter Index der zu berechnenden Momente
M[P,Q].
Defaultwert: 1
Wertevorschläge: 0, 1, 2, 3, 4
MMMMMm (output_control) real(-array) → HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)
Die berechneten Momente.
Sei n die Anzahl der Punkte in der Kontur bzw. dem
Polygon. Dann ist die Laufzeit O(n).
moments_any_xldmoments_any_xldMomentsAnyXldmoments_any_xldMomentsAnyXldMomentsAnyXld liefert den Wert 2 (H_MSG_TRUE), falls die Eingabe
nicht leer ist. Das Verhalten bei leerer Eingabe 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. Gegebenenfalls wird eine Fehlerbehandlung
durchgeführt.
area_center_xldarea_center_xldAreaCenterXldarea_center_xldAreaCenterXldAreaCenterXld,
gen_contours_skeleton_xldgen_contours_skeleton_xldGenContoursSkeletonXldgen_contours_skeleton_xldGenContoursSkeletonXldGenContoursSkeletonXld,
smooth_contours_xldsmooth_contours_xldSmoothContoursXldsmooth_contours_xldSmoothContoursXldSmoothContoursXld,
gen_polygons_xldgen_polygons_xldGenPolygonsXldgen_polygons_xldGenPolygonsXldGenPolygonsXld
moments_xldmoments_xldMomentsXldmoments_xldMomentsXldMomentsXld,
moments_any_points_xldmoments_any_points_xldMomentsAnyPointsXldmoments_any_points_xldMomentsAnyPointsXldMomentsAnyPointsXld
moments_xldmoments_xldMomentsXldmoments_xldMomentsXldMomentsXld,
area_center_xldarea_center_xldAreaCenterXldarea_center_xldAreaCenterXldAreaCenterXld,
moments_region_2ndmoments_region_2ndMomentsRegion2ndmoments_region_2ndMomentsRegion2ndMomentsRegion2nd,
area_centerarea_centerAreaCenterarea_centerAreaCenterAreaCenter
Foundation