moments_any_points_xld moments_any_points_xld MomentsAnyPointsXld MomentsAnyPointsXld moments_any_points_xld (Operator)
Name
moments_any_points_xld moments_any_points_xld MomentsAnyPointsXld MomentsAnyPointsXld moments_any_points_xld — Geometrische Momente beliebiger Ordnung von Konturen oder Polygonen,
die wie Punktwolken behandelt werden.
Signatur
Herror moments_any_points_xld (const Hobject XLD , const char* Mode , double Area , double CenterRow , double CenterCol , const Hlong P , const Hlong Q , double* M )
Herror T_moments_any_points_xld (const Hobject XLD , const Htuple Mode , const Htuple Area , const Htuple CenterRow , const Htuple CenterCol , const Htuple P , const Htuple Q , Htuple* M )
void MomentsAnyPointsXld (const HObject& XLD , const HTuple& Mode , const HTuple& Area , const HTuple& CenterRow , const HTuple& CenterCol , const HTuple& P , const HTuple& Q , HTuple* M )
HTuple HXLD ::MomentsAnyPointsXld (const HString& Mode , const HTuple& Area , const HTuple& CenterRow , const HTuple& CenterCol , const HTuple& P , const HTuple& Q ) const
double HXLD ::MomentsAnyPointsXld (const HString& Mode , double Area , double CenterRow , double CenterCol , Hlong P , Hlong Q ) const
double HXLD ::MomentsAnyPointsXld (const char* Mode , double Area , double CenterRow , double CenterCol , Hlong P , Hlong Q ) const
double HXLD ::MomentsAnyPointsXld (const wchar_t* Mode , double Area , double CenterRow , double CenterCol , Hlong P , Hlong Q ) const
(Nur Windows)
static void HOperatorSet .MomentsAnyPointsXld (HObject XLD , HTuple mode , HTuple area , HTuple centerRow , HTuple centerCol , HTuple p , HTuple q , out HTuple m )
HTuple HXLD .MomentsAnyPointsXld (string mode , HTuple area , HTuple centerRow , HTuple centerCol , HTuple p , HTuple q )
double HXLD .MomentsAnyPointsXld (string mode , double area , double centerRow , double centerCol , int p , int q )
def moments_any_points_xld (xld : HObject, mode : str, area : MaybeSequence[float], center_row : MaybeSequence[float], center_col : MaybeSequence[float], p : MaybeSequence[int], q : MaybeSequence[int]) -> Sequence[float]
def moments_any_points_xld_s (xld : HObject, mode : str, area : MaybeSequence[float], center_row : MaybeSequence[float], center_col : MaybeSequence[float], p : MaybeSequence[int], q : MaybeSequence[int]) -> float
Beschreibung
moments_any_points_xld moments_any_points_xld MomentsAnyPointsXld MomentsAnyPointsXld MomentsAnyPointsXld moments_any_points_xld berechnet Momente beliebiger Ordnung
der durch Konturen oder Polygonen XLD XLD XLD XLD XLD xld gegebenen Punktwolken
(d.h. die Reihenfolge der Kontur- oder Polygonpunkte wird nicht
berücksichtigt).
Abhängig vom Parameter Mode Mode Mode Mode mode mode werden die berechneten Momente
wie folgt normiert:
'unnormalized':
Keine Normalisierung.
'unnormalized_central':
Verschiebung der Konturpunkte um ihren
Schwerpunkt
'normalized':
Normalisierung durch die Fläche A =
Area Area Area Area area area von XLD XLD XLD XLD XLD xld
'central':
Normalisierung durch die Fläche A = Area Area Area Area area area
und zusätzlich Verschiebung der Bildregion um ihren Schwerpunkt
Für die Normierung der Momente werden ggf. drei spezielle Werte
benötigt: Die Fläche Area Area Area Area area area sowie die Koordinaten
CenterRow CenterRow CenterRow CenterRow centerRow center_row ,CenterRow CenterRow CenterRow CenterRow centerRow center_row des Schwerpunktes (diese können
mittels area_center_points_xld area_center_points_xld AreaCenterPointsXld AreaCenterPointsXld AreaCenterPointsXld area_center_points_xld berechnet werden).
Bei geschlossenen Konturen oder Polygonen (Anfangspunkt = Endpunkt) wird
der Endpunkt der Kontur oder des Polygons nicht berücksichtigt, da er sonst
doppeltes Gewicht erhielte.
moments_any_points_xld moments_any_points_xld MomentsAnyPointsXld MomentsAnyPointsXld MomentsAnyPointsXld moments_any_points_xld sollte dann verwendet werden, wenn die Kontur
XLD XLD XLD XLD XLD xld entweder nicht kreuzungsfrei ist oder nicht kreuzungsfrei durch
eine Line vom End- zum Anfangspunkt geschlossen werden kann. In diesem Fall
liefert moments_xld moments_xld MomentsXld MomentsXld MomentsXld moments_xld keine sinnvollen Ergebnisse. Ob sich die
Konturen oder Polygone selbst schneiden, kann leicht mit
test_self_intersection_xld test_self_intersection_xld TestSelfIntersectionXld TestSelfIntersectionXld TestSelfIntersectionXld test_self_intersection_xld überprüft werden.
Wird mehr als eine Kontur oder ein Polygon übergeben, dann werden
die Momente für die einzelnen Konturen bzw. Polygone hintereinander
in M M M M m m abgelegt.
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
XLD XLD XLD XLD XLD xld (input_object) xld(-array) → object HXLD HObject HXLD Hobject
Zu untersuchende Konturen bzw. Polygone.
Mode Mode Mode Mode mode mode (input_control) string → HTuple str HTuple Htuple (string) (string ) (HString ) (char* )
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"
Area Area Area Area area area (input_control) real(-array) → HTuple MaybeSequence[float] HTuple Htuple (real) (double ) (double ) (double )
Fläche der Punktwolke.
CenterRow CenterRow CenterRow CenterRow centerRow center_row (input_control) point.y(-array) → HTuple MaybeSequence[float] HTuple Htuple (real) (double ) (double ) (double )
Zeilenindex des Schwerpunktes.
CenterCol CenterCol CenterCol CenterCol centerCol center_col (input_control) point.x(-array) → HTuple MaybeSequence[float] HTuple Htuple (real) (double ) (double ) (double )
Spaltenindex des Schwerpunktes.
P P P P p p (input_control) point.x(-array) → HTuple MaybeSequence[int] HTuple Htuple (integer) (int / long) (Hlong ) (Hlong )
Erster Index der zu berechnenden Momente
.
Defaultwert: 1
Wertevorschläge: 0, 1, 2, 3, 4
Q Q Q Q q q (input_control) point.x(-array) → HTuple MaybeSequence[int] HTuple Htuple (integer) (int / long) (Hlong ) (Hlong )
Zweiter Index der zu berechnenden Momente
.
Defaultwert: 1
Wertevorschläge: 0, 1, 2, 3, 4
M M M M m m (output_control) real(-array) → HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Die berechneten Momente.
Komplexität
Sei n die Anzahl der Punkte in der Kontur bzw. dem
Polygon. Dann ist die Laufzeit O(n).
Ergebnis
moments_any_points_xld moments_any_points_xld MomentsAnyPointsXld MomentsAnyPointsXld MomentsAnyPointsXld moments_any_points_xld 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>) SetSystem("no_object_result",<Result>) SetSystem("no_object_result",<Result>) set_system("no_object_result",<Result>)
festlegen. Gegebenenfalls wird eine Fehlerbehandlung
durchgeführt.
Vorgänger
area_center_points_xld area_center_points_xld AreaCenterPointsXld AreaCenterPointsXld AreaCenterPointsXld area_center_points_xld ,
gen_contours_skeleton_xld gen_contours_skeleton_xld GenContoursSkeletonXld GenContoursSkeletonXld GenContoursSkeletonXld gen_contours_skeleton_xld ,
smooth_contours_xld smooth_contours_xld SmoothContoursXld SmoothContoursXld SmoothContoursXld smooth_contours_xld ,
gen_polygons_xld gen_polygons_xld GenPolygonsXld GenPolygonsXld GenPolygonsXld gen_polygons_xld
Alternativen
moments_points_xld moments_points_xld MomentsPointsXld MomentsPointsXld MomentsPointsXld moments_points_xld ,
moments_any_xld moments_any_xld MomentsAnyXld MomentsAnyXld MomentsAnyXld moments_any_xld
Siehe auch
moments_points_xld moments_points_xld MomentsPointsXld MomentsPointsXld MomentsPointsXld moments_points_xld ,
area_center_points_xld area_center_points_xld AreaCenterPointsXld AreaCenterPointsXld AreaCenterPointsXld area_center_points_xld ,
moments_region_2nd moments_region_2nd MomentsRegion2nd MomentsRegion2nd MomentsRegion2nd moments_region_2nd ,
area_center area_center AreaCenter AreaCenter AreaCenter area_center
Modul
Foundation