orientation_points_xld
— Orientierung von Konturen oder Polygonen, die wie Punktwolken behandelt
werden.
orientation_points_xld
berechnet die Orientierung
Phi
der von den Eingabekonturen oder -polygonen XLD
definierten Punktwolken (d.h. die Reihenfolge der Kontur- oder
Polygonpunkte wird nicht berücksichtigt). Der Winkel Phi wird analog zu
elliptic_axis_points_xld
bestimmt. Es wird jedoch
zusätzlich der Punkt mit maximalem Abstand bestimmt. Bei
geschlossenen Konturen oder Polygonen (Anfangspunkt = Endpunkt) wird
der Endpunkt der Kontur oder des Polygons nicht berücksichtigt, da
er sonst doppeltes Gewicht erhielte.
Falls der Winkel zwischen dem Vektor vom Mittelpunkt zum Punkt
und dem durch Phi bestimmten Vector
größer als ist, wird auf den den Winkel Phi
addiert. Für den Fall, dass XLD
nur aus zwei Punkten
besteht, ergibt sich Phi
aus der Richtung vom ersten zum
zweiten Punkt.
orientation_points_xld
sollte dann verwendet werden, wenn
die Kontur XLD
entweder nicht kreuzungsfrei ist oder nicht
kreuzungsfrei durch eine Line vom End- zum Anfangspunkt geschlossen
werden kann. In diesem Fall liefert orientation_xld
keine
sinnvollen Ergebnisse. Ob sich die Konturen oder Polygone selbst
schneiden, kann leicht mit test_self_intersection_xld
überprüft werden.
Wird mehr als eine Kontur oder ein Polygon übergeben, dann werden
die Ergebnisse für die Orientierungen in einem Tupel in der gleichen
Reihenfolge wie die entsprechenden Konturen bzw. Polygone in XLD
abgespeichert.
XLD
(input_object) xld(-array) →
object
Zu untersuchende Konturen bzw. Polygone.
Phi
(output_control) angle.rad(-array) →
(real)
Orientierung der Konturen bzw. Polygone (Bogenmaß).
Zusicherung: - pi < Phi && Phi <= pi
gen_contours_skeleton_xld
,
edges_sub_pix
,
threshold_sub_pix
,
gen_contour_polygon_xld
orientation_xld
,
elliptic_axis_points_xld
,
smallest_rectangle2_xld
Foundation