KlassenKlassenKlassenKlassen | | | | Operatoren

rectangularityrectangularityRectangularityrectangularityRectangularityRectangularity (Operator)

Name

rectangularityrectangularityRectangularityrectangularityRectangularityRectangularity — Ermitteln des Formfaktors für die Rechteckigkeit einer Region.

Signatur

rectangularity(Regions : : : Rectangularity)

Herror rectangularity(const Hobject Regions, double* Rectangularity)

Herror T_rectangularity(const Hobject Regions, Htuple* Rectangularity)

Herror rectangularity(Hobject Regions, double* Rectangularity)

Herror rectangularity(Hobject Regions, HTuple* Rectangularity)

double HRegion::Rectangularity() const

HTuple HRegionArray::Rectangularity() const

void Rectangularity(const HObject& Regions, HTuple* Rectangularity)

HTuple HRegion::Rectangularity() const

void HOperatorSetX.Rectangularity(
[in] IHUntypedObjectX* Regions, [out] VARIANT* Rectangularity)

VARIANT HRegionX.Rectangularity()

static void HOperatorSet.Rectangularity(HObject regions, out HTuple rectangularity)

HTuple HRegion.Rectangularity()

Beschreibung

rectangularityrectangularityRectangularityrectangularityRectangularityRectangularity berechnet die Rechteckigkeit der Eingaberegionen.

Zur Bestimmung der Rechteckigkeit wird zunächst ein Rechteck ermittelt, das die gleichen ersten und zweiten Momente besitzt wie die Eingaberegion. Die Berechnung des Rechteckigkeitsmaßes basiert schließlich auf der Fläche der Differenz zwischen dem ermittelten Rechteck und der Eingaberegion normiert auf die Fläche des Rechtecks.

In der Dokumentation des Operators region_featuresregion_featuresRegionFeaturesregion_featuresRegionFeaturesRegionFeatures finden Sie ein Bild mit Regionen, die sich in ihrer Rechteckigkeit unterscheiden.

Für Rechtecke liefert rectangularityrectangularityRectangularityrectangularityRectangularityRectangularity den Wert 1 zurück. Je weniger die Eingaberegion einem Rechteck gleicht, desto geringer ist RectangularityRectangularityRectangularityRectangularityRectangularityrectangularity.

Bei einer leeren Region liefert rectangularityrectangularityRectangularityrectangularityRectangularityRectangularity (soweit kein anderes Verhalten festgelegt wurde (siehe set_systemset_systemSetSystemset_systemSetSystemSetSystem)) den Wert 0. Wird mehr als eine Region übergeben, dann werden die Zahlenwerte für die Rechteckigkeit in einem Tupel abgespeichert, wobei die Position eines Wertes in dem Tupel der Position der Region im Eingabetupel entspricht.

Achtung

Bei Eingaberegionen, deren Orientierung über Momente zweiter Ordnung nicht definiert ist (wie es z.B. beim Quadrat der Fall ist), wird für RectangularityRectangularityRectangularityRectangularityRectangularityrectangularity je nach Orientierung der Eingaberegion ein bis zu 10% zu niedriger Wert zurückgeliefert.

Parallelisierung

Parameter

RegionsRegionsRegionsRegionsRegionsregions (input_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject

Zu untersuchende Region(en).

RectangularityRectangularityRectangularityRectangularityRectangularityrectangularity (output_control)  real(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Rechteckigkeit der Eingaberegion(en).

Zusicherung: 0 <= Rectangularity && Rectangularity <= 1.0

Ergebnis

rectangularityrectangularityRectangularityrectangularityRectangularityRectangularity liefert den Wert 2 (H_MSG_TRUE), falls die Eingabe nicht leer ist. Das Verhalten bei leerer Eingabe (keine Eingaberegionen 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. Das Verhalten bei einer leeren Region (Region ist die leere Menge) wird mit set_system('empty_region_result',<Result>)set_system("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)set_system("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>) bestimmt. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

thresholdthresholdThresholdthresholdThresholdThreshold, regiongrowingregiongrowingRegiongrowingregiongrowingRegiongrowingRegiongrowing, connectionconnectionConnectionconnectionConnectionConnection

Alternativen

circularitycircularityCircularitycircularityCircularityCircularity, compactnesscompactnessCompactnesscompactnessCompactnessCompactness, convexityconvexityConvexityconvexityConvexityConvexity, eccentricityeccentricityEccentricityeccentricityEccentricityEccentricity

Siehe auch

contlengthcontlengthContlengthcontlengthContlengthContlength, area_centerarea_centerAreaCenterarea_centerAreaCenterAreaCenter, select_shapeselect_shapeSelectShapeselect_shapeSelectShapeSelectShape

Literatur

P. L. Rosin: „Measuring rectangularity“; Machine Vision and Applications; vol. 11; pp. 191-196; Springer-Verlag, 1999.

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren