rectangularity_xld
— Formfaktor für die Rechteckigkeit von Konturen oder Polygonen.
rectangularity_xld(XLD : : : Rectangularity)
rectangularity_xld
berechnet die Rechteckigkeit für jede
Eingabekontur bzw. jedes Eingabepolygon in XLD
.
Es muss darauf geachtet werden, dass sich die Eingabekonturen bzw. -polygone
nicht selbst schneiden, da ansonsten der Ausgabeparameter keinen
aussagekräftigen Wert enthält (Ob sich die Eingabekonturen bzw. -polygone
selbst schneiden oder nicht, lässt sich mit
test_self_intersection_xld
überprüfen).
Sind die Eingabekonturen bzw. -polygone nicht geschlossen, so werden sie vor
der Berechnung automatisch geschlossen.
Zur Bestimmung der Rechteckigkeit wird zunächst ein Rechteck ermittelt, das die gleichen ersten und zweiten Momente besitzt wie die Eingabekontur bzw. das Eingabepolygon. Die Berechnung des Rechteckigkeitsmaßes basiert schließlich auf der Fläche der Differenz zwischen dem ermittelten Rechteck und der Eingabekontur bzw. des Eingabepolygons normiert auf die Fläche des Rechtecks.
Für Rechtecke liefert rectangularity_xld
den Wert 1 zurück. Je
weniger die Eingabekonturen bzw. -polygone einem Rechteck gleichen, desto
geringer ist Rectangularity
. Wird mehr als eine Kontur bzw. ein
Polygon übergeben,dann werden die Zahlenwerte für die Rechteckigkeit in einem
Tupel abgespeichert, wobei die Position eines Wertes in dem Tupel der
Position der Kontur bzw. des Polygons im Eingabetupel XLD
entspricht.
Bei Eingabekonturen bzw. -polygone, deren Orientierung über Momente zweiter
Ordnung nicht definiert ist (wie es z.B. beim Quadrat der Fall ist), wird
für Rectangularity
je nach Orientierung der Eingabekonturen bzw.
-polygone ein bis zu 10% zu niedriger Wert zurückgeliefert.
XLD
(input_object) xld(-array) →
object
Zu untersuchende Konturen bzw. Polygone.
Rectangularity
(output_control) real(-array) →
(real)
Rechteckigkeit der Eingabekonturen bzw. -polygone.
Zusicherung: 0 <= Rectangularity && Rectangularity <= 1.0
rectangularity_xld
liefert den Wert 2 (H_MSG_TRUE), falls die Eingabe nicht
leer ist.
Das Verhalten bei leerer Eingabe (keine Eingabekonturen bzw. -polygone
vorhanden) lässt sich mittels
set_system('no_object_result',<Result>)
festlegen.
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
gen_contours_skeleton_xld
,
edges_sub_pix
,
threshold_sub_pix
,
gen_contour_polygon_xld
,
test_self_intersection_xld
circularity_xld
,
convexity_xld
,
compactness_xld
,
eccentricity_xld
area_center_xld
,
select_shape_xld
P. L. Rosin: „Measuring rectangularity“; Machine Vision and Applications; vol. 11; pp. 191-196; Springer-Verlag, 1999.
Foundation