Name
orientation_xldorientation_xldOrientationXldorientation_xldOrientationXldOrientationXld — Orientierung von Konturen oder Polygonen.
orientation_xld(XLD : : : Phi)
Herror orientation_xld(const Hobject XLD, double* Phi)
Herror T_orientation_xld(const Hobject XLD, Htuple* Phi)
Herror orientation_xld(Hobject XLD, double* Phi)
Herror orientation_xld(Hobject XLD, HTuple* Phi)
double HXLD::OrientationXld() const
HTuple HXLDArray::OrientationXld() const
void OrientationXld(const HObject& XLD, HTuple* Phi)
HTuple HXLD::OrientationXld() const
orientation_xldorientation_xldOrientationXldorientation_xldOrientationXldOrientationXld berechnet die Orientierung (PhiPhiPhiPhiPhiphi)
für jede Eingabekontur bzw. jedes Eingabepolygon. Das Verfahren basiert auf
dem Winkel, der mit
elliptic_axis_xldelliptic_axis_xldEllipticAxisXldelliptic_axis_xldEllipticAxisXldEllipticAxisXld 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 Pi 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_xldorientation_xldOrientationXldorientation_xldOrientationXldOrientationXld 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 Orientierung mit orientation_points_xldorientation_points_xldOrientationPointsXldorientation_points_xldOrientationPointsXldOrientationPointsXld 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 XLDXLDXLDXLDXLDXLD abgespeichert.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Automatisch parallelisiert auf Tupelebene.
Zu untersuchende Konturen bzw. Polygone.
Orientierung der Konturen bzw. Polygone
(Bogenmaß).
Zusicherung: - pi < Phi && Phi <= pi
orientation_xldorientation_xldOrientationXldorientation_xldOrientationXldOrientationXld 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>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)
festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
gen_contours_skeleton_xldgen_contours_skeleton_xldGenContoursSkeletonXldgen_contours_skeleton_xldGenContoursSkeletonXldGenContoursSkeletonXld,
edges_sub_pixedges_sub_pixEdgesSubPixedges_sub_pixEdgesSubPixEdgesSubPix,
threshold_sub_pixthreshold_sub_pixThresholdSubPixthreshold_sub_pixThresholdSubPixThresholdSubPix,
gen_contour_polygon_xldgen_contour_polygon_xldGenContourPolygonXldgen_contour_polygon_xldGenContourPolygonXldGenContourPolygonXld,
test_self_intersection_xldtest_self_intersection_xldTestSelfIntersectionXldtest_self_intersection_xldTestSelfIntersectionXldTestSelfIntersectionXld
elliptic_axis_xldelliptic_axis_xldEllipticAxisXldelliptic_axis_xldEllipticAxisXldEllipticAxisXld,
smallest_rectangle2_xldsmallest_rectangle2_xldSmallestRectangle2Xldsmallest_rectangle2_xldSmallestRectangle2XldSmallestRectangle2Xld
moments_region_2ndmoments_region_2ndMomentsRegion2ndmoments_region_2ndMomentsRegion2ndMomentsRegion2nd
Foundation