roundnessroundnessRoundnessRoundness (Operator)

Name

roundnessroundnessRoundnessRoundness — Ermitteln der Formfaktoren aus der Kontur.

Signatur

roundness(Regions : : : Distance, Sigma, Roundness, Sides)

Herror roundness(const Hobject Regions, double* Distance, double* Sigma, double* Roundness, double* Sides)

Herror T_roundness(const Hobject Regions, Htuple* Distance, Htuple* Sigma, Htuple* Roundness, Htuple* Sides)

void Roundness(const HObject& Regions, HTuple* Distance, HTuple* Sigma, HTuple* Roundness, HTuple* Sides)

HTuple HRegion::Roundness(HTuple* Sigma, HTuple* Roundness, HTuple* Sides) const

double HRegion::Roundness(double* Sigma, double* Roundness, double* Sides) const

static void HOperatorSet.Roundness(HObject regions, out HTuple distance, out HTuple sigma, out HTuple roundness, out HTuple sides)

HTuple HRegion.Roundness(out HTuple sigma, out HTuple roundness, out HTuple sides)

double HRegion.Roundness(out double sigma, out double roundness, out double sides)

Beschreibung

roundnessroundnessRoundnessRoundnessRoundness untersucht den Abstand der Kontur vom Schwerpunkt der Fläche. Im einzelnen wird der mittlere Abstand (DistanceDistanceDistanceDistancedistance), die Abweichung vom mittleren Abstand (SigmaSigmaSigmaSigmasigma) und zwei daraus abgeleitete Formmerkmale bestimmt. RoundnessRoundnessRoundnessRoundnessroundness ist das Verhältnis von Mittelwert zu Standardabweichung und SidesSidesSidesSidessides gibt die Anzahl der Polygonstücke an, falls es sich um ein regelmäßiges Polygon handelt.

In der Dokumentation zu diesem Kapitel (Regionen / Merkmale) finden Sie ein Bild mit Regionen, die sich in ihrem mittleren Abstand, der Abweichung vom mittleren Abstand, der RoundnessRoundnessRoundnessRoundnessroundness und den SidesSidesSidesSidessides unterscheiden.

Die Kontur zur Berechnung der Merkmale wird in Abhängigkeit von der globalen Nachbarschaft bestimmt (siehe set_systemset_systemSetSystemSetSystemSetSystem).

Berechnung:

Sei p der Flächenschwerpunkt, die Punkte und F die Fläche der Kontur.

Wird mehr als eine Region übergeben, dann werden die Ergebnisse in Tupeln abgespeichert, wobei der Index eines Wertes in dem Tupel dem Index einer Region in der Eingabe entspricht.

Bei leerer Region haben alle Parameter den Wert 0.0, soweit kein anderes Verhalten eingestellt wurde (siehe set_systemset_systemSetSystemSetSystemSetSystem).

Ausführungsinformationen

Parameter

RegionsRegionsRegionsRegionsregions (input_object)  region(-array) objectHRegionHRegionHobject

Zu untersuchende Region(en).

DistanceDistanceDistanceDistancedistance (output_control)  real(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Mittlerer Abstand vom Schwerpunkt.

Zusicherung: Distance >= 0.0

SigmaSigmaSigmaSigmasigma (output_control)  real(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Standardabweichung von DistanceDistanceDistanceDistancedistance.

Zusicherung: Sigma >= 0.0

RoundnessRoundnessRoundnessRoundnessroundness (output_control)  real(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Formfaktor für Rundheit.

Zusicherung: Roundness <= 1.0

SidesSidesSidesSidessides (output_control)  real(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Anzahl der Polygonseiten.

Zusicherung: Sides >= 0

Komplexität

Sei F die Fläche einer Region, dann beträgt die Laufzeitkomplexität im Mittel O(sqrt(F)).

Ergebnis

roundnessroundnessRoundnessRoundnessRoundness 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>)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>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>) bestimmt. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

thresholdthresholdThresholdThresholdThreshold, regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowing, connectionconnectionConnectionConnectionConnection

Alternativen

compactnesscompactnessCompactnessCompactnessCompactness

Siehe auch

contlengthcontlengthContlengthContlengthContlength

Literatur

R. Haralick, L. Shapiro „Computer and Robot Vision“ Addison-Wesley, 1992, pp. 61

Modul

Foundation