symmetrysymmetrySymmetrySymmetry (Operator)

Name

symmetrysymmetrySymmetrySymmetry — Grauwertsymmetrie entlang einer Zeile.

Signatur

symmetry(Image : ImageSymmetry : MaskSize, Direction, Exponent : )

Herror symmetry(const Hobject Image, Hobject* ImageSymmetry, const Hlong MaskSize, double Direction, double Exponent)

Herror T_symmetry(const Hobject Image, Hobject* ImageSymmetry, const Htuple MaskSize, const Htuple Direction, const Htuple Exponent)

void Symmetry(const HObject& Image, HObject* ImageSymmetry, const HTuple& MaskSize, const HTuple& Direction, const HTuple& Exponent)

HImage HImage::Symmetry(Hlong MaskSize, double Direction, double Exponent) const

static void HOperatorSet.Symmetry(HObject image, out HObject imageSymmetry, HTuple maskSize, HTuple direction, HTuple exponent)

HImage HImage.Symmetry(int maskSize, double direction, double exponent)

Beschreibung

symmetrysymmetrySymmetrySymmetrySymmetry berechnet die Symmetrie entlag einer Zeile. Dabei werden für jeden Bildpunkt die Grauwerte auf beiden „Seiten“ enlang der vorgegebenen Suchrichtung verglichen: Es wird jeweils der Betrag der Differenz zwischen zwei gleich weit entfernten Punkten bestimmt. Jeder dieser Differenzen wird mit dem Exponenten gewichtet (nach einer Division durch 255) und dann wird die Summe all dieser Differenzen gebildet. Bildpunkte mit einer hohen Symmetrie erhalten einen hohen Grauwert.

Achtung

Gegenwärtig können nur horizontale Suchlinien verwendet werden. Beachten Sie, dass der Parameter DirectionDirectionDirectionDirectiondirection im Hinblick auf zukünftige Erweiterungen existiert und daher im Moment nur den Wert 0.0 haben kann.

Beachten Sie, dass Filteroperatoren eventuell unerwartete Resultate ausgeben, wenn ein Bild mit einer reduzierten Domäne als Input übergeben wird. Weitere Informationen können im Kapitel Filter gefunden werden.

Ausführungsinformationen

Parameter

ImageImageImageImageimage (input_object)  (multichannel-)image(-array) objectHImageHImageHobject (byte)

Eingabebild.

ImageSymmetryImageSymmetryImageSymmetryImageSymmetryimageSymmetry (output_object)  (multichannel-)image(-array) objectHImageHImageHobject * (byte)

Symmetriebild.

MaskSizeMaskSizeMaskSizeMaskSizemaskSize (input_control)  number HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Länge des Suchbereiches.

Defaultwert: 40

Wertevorschläge: 3, 5, 7, 10, 15, 20, 25, 30, 40, 50, 60, 70, 80, 100, 120, 140, 180

Typischer Wertebereich: 3 ≤ MaskSize MaskSize MaskSize MaskSize maskSize ≤ 1000

Minimale Schrittweite: 1

Empfohlene Schrittweite: 2

DirectionDirectionDirectionDirectiondirection (input_control)  number HTupleHTupleHtuple (real) (double) (double) (double)

Winkel der Untersuchungsrichtung.

Defaultwert: 0.0

Wertevorschläge: 0.0

Typischer Wertebereich: 0.0 ≤ Direction Direction Direction Direction direction ≤ 0.0

ExponentExponentExponentExponentexponent (input_control)  number HTupleHTupleHtuple (real) (double) (double) (double)

Exponent für Gewichtung.

Defaultwert: 0.5

Wertevorschläge: 0.1, 0.2, 0.3, 0.4, 0.5, 0.7, 0.8, 0.9, 1.0

Typischer Wertebereich: 0.05 ≤ Exponent Exponent Exponent Exponent exponent ≤ 1.0

Minimale Schrittweite: 0.01

Empfohlene Schrittweite: 0.1

Restriktion: 0 < Exponent && Exponent <= 1

Beispiel (HDevelop)

read_image(Image,'monkey')
symmetry(Image,ImageSymmetry,70,0.0,0.5)
threshold(ImageSymmetry,SymmPoints,170,255)

Ergebnis

Sind die Parameterwerte korrekt, dann liefert symmetrysymmetrySymmetrySymmetrySymmetry den Wert 2 (H_MSG_TRUE). Das Verhalten bei leerer Eingabe (keine Eingabebilder 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. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Nachfolger

thresholdthresholdThresholdThresholdThreshold

Modul

Foundation