orientation_xld orientation_xld OrientationXld OrientationXld orientation_xld (Operator)
Name
orientation_xld orientation_xld OrientationXld OrientationXld orientation_xld — Berechnen der Orientierung von Konturen oder Polygonen.
Signatur
orientation_xld (XLD : : : Phi )
Herror orientation_xld (const Hobject XLD , double* Phi )
Herror T_orientation_xld (const Hobject XLD , Htuple* Phi )
void OrientationXld (const HObject& XLD , HTuple* Phi )
HTuple HXLD ::OrientationXld () const
def orientation_xld (xld : HObject) -> Sequence[float]
def orientation_xld_s (xld : HObject) -> float
Beschreibung
orientation_xld orientation_xld OrientationXld OrientationXld OrientationXld orientation_xld berechnet die Orientierung (Phi Phi Phi Phi phi phi )
für jede Eingabekontur bzw. jedes Eingabepolygon (XLD XLD XLD XLD XLD xld ).
Das Verfahren basiert auf dem Winkel, der mit
elliptic_axis_xld elliptic_axis_xld EllipticAxisXld EllipticAxisXld EllipticAxisXld elliptic_axis_xld bestimmt wird. Es wird jedoch zusätzlich
der Punkt auf der Kontur bzw. dem Polygon mit maximalem Abstand bestimmt.
Ist dessen Spaltenkoordinate kleiner als die Spaltenkoordinate des
Schwerpunkts, so wird
zu dem Winkel hinzugezählt. Es
wird vorausgesetzt, dass die Kontur geschlossen ist. Ist das nicht
der Fall, wird sie künstlich geschlossen.
Es ist zu beachten, dass orientation_xld orientation_xld OrientationXld OrientationXld OrientationXld orientation_xld 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_xld test_self_intersection_xld TestSelfIntersectionXld TestSelfIntersectionXld TestSelfIntersectionXld test_self_intersection_xld überprüft werden. Falls sich die
Kontur oder das Polygon selbst schneidet, kann ein sinnvoller Wert
für die Orientierung mit orientation_points_xld orientation_points_xld OrientationPointsXld OrientationPointsXld OrientationPointsXld orientation_points_xld berechnet
werden.
Wird mehr als eine Kontur oder ein Polygon übergeben, dann werden
die Ergebnisse für die Orientierungen in einem Tupel in der Reihenfolge
ihrer entsprechenden Konturen bzw. Polygone in XLD XLD XLD XLD XLD xld abgespeichert.
Ausführungsinformationen
Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
Automatisch parallelisiert auf Tupelebene.
Parameter
XLD XLD XLD XLD XLD xld (input_object) xld(-array) → object HXLD HObject HXLD Hobject
Zu untersuchende Konturen bzw. Polygone.
Phi Phi Phi Phi phi phi (output_control) angle.rad(-array) → HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Orientierung der Konturen bzw. Polygone
(Bogenmaß).
Zusicherung: - pi < Phi && Phi <= pi
Ergebnis
orientation_xld orientation_xld OrientationXld OrientationXld OrientationXld orientation_xld liefert den Wert 2 (H_MSG_TRUE ), falls die Eingabe nicht
leer ist. Das Verhalten bei leerer Eingabe (keine Eingabekontur 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. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
Vorgänger
gen_contours_skeleton_xld gen_contours_skeleton_xld GenContoursSkeletonXld GenContoursSkeletonXld GenContoursSkeletonXld gen_contours_skeleton_xld ,
edges_sub_pix edges_sub_pix EdgesSubPix EdgesSubPix EdgesSubPix edges_sub_pix ,
threshold_sub_pix threshold_sub_pix ThresholdSubPix ThresholdSubPix ThresholdSubPix threshold_sub_pix ,
gen_contour_polygon_xld gen_contour_polygon_xld GenContourPolygonXld GenContourPolygonXld GenContourPolygonXld gen_contour_polygon_xld ,
test_self_intersection_xld test_self_intersection_xld TestSelfIntersectionXld TestSelfIntersectionXld TestSelfIntersectionXld test_self_intersection_xld
Alternativen
elliptic_axis_xld elliptic_axis_xld EllipticAxisXld EllipticAxisXld EllipticAxisXld elliptic_axis_xld ,
smallest_rectangle2_xld smallest_rectangle2_xld SmallestRectangle2Xld SmallestRectangle2Xld SmallestRectangle2Xld smallest_rectangle2_xld
Siehe auch
moments_region_2nd moments_region_2nd MomentsRegion2nd MomentsRegion2nd MomentsRegion2nd moments_region_2nd
Modul
Foundation