roundnessroundnessRoundnessRoundnessroundness (Operator)

Name

roundnessroundnessRoundnessRoundnessroundness — 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)

def roundness(regions: HObject) -> Tuple[Sequence[float], Sequence[float], Sequence[float], Sequence[float]]

def roundness_s(regions: HObject) -> Tuple[float, float, float, float]

Beschreibung

roundnessroundnessRoundnessRoundnessRoundnessroundness untersucht den Abstand der Kontur vom Schwerpunkt der Fläche. Im einzelnen wird der mittlere Abstand (DistanceDistanceDistanceDistancedistancedistance), die Abweichung vom mittleren Abstand (SigmaSigmaSigmaSigmasigmasigma) und zwei daraus abgeleitete Formmerkmale bestimmt. RoundnessRoundnessRoundnessRoundnessroundnessroundness ist das Verhältnis von Mittelwert zu Standardabweichung und SidesSidesSidesSidessidessides 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 RoundnessRoundnessRoundnessRoundnessroundnessroundness und den SidesSidesSidesSidessidessides unterscheiden.

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

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_systemSetSystemSetSystemSetSystemset_system).

Ausführungsinformationen

Parameter

RegionsRegionsRegionsRegionsregionsregions (input_object)  region(-array) objectHRegionHObjectHRegionHobject

Zu untersuchende Region(en).

DistanceDistanceDistanceDistancedistancedistance (output_control)  real(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Mittlerer Abstand vom Schwerpunkt.

Zusicherung: Distance >= 0.0

SigmaSigmaSigmaSigmasigmasigma (output_control)  real(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Standardabweichung von DistanceDistanceDistanceDistancedistancedistance.

Zusicherung: Sigma >= 0.0

RoundnessRoundnessRoundnessRoundnessroundnessroundness (output_control)  real(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Formfaktor für Rundheit.

Zusicherung: Roundness <= 1.0

SidesSidesSidesSidessidessides (output_control)  real(-array) HTupleSequence[float]HTupleHtuple (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

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

Vorgänger

thresholdthresholdThresholdThresholdThresholdthreshold, regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowingregiongrowing, connectionconnectionConnectionConnectionConnectionconnection

Alternativen

compactnesscompactnessCompactnessCompactnessCompactnesscompactness

Siehe auch

contlengthcontlengthContlengthContlengthContlengthcontlength

Literatur

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

Modul

Foundation