gauss_imagegauss_imageGaussImageGaussImagegauss_image (Operator)

Name

gauss_imagegauss_imageGaussImageGaussImagegauss_image — Glättung mit diskreten Gaußfunktionen.

Warnung

gauss_imagegauss_imageGaussImageGaussImagegauss_image ist veraltet und wird nur aus Gründen der Rückwärtskompatibilität zur Verfügung gestellt. Neue Applikationen zum Glätten von Bildern sollten stattdessen den Operator gauss_filtergauss_filterGaussFilterGaussFiltergauss_filter verwenden.

Signatur

gauss_image(Image : ImageGauss : Size : )

Herror gauss_image(const Hobject Image, Hobject* ImageGauss, const Hlong Size)

Herror T_gauss_image(const Hobject Image, Hobject* ImageGauss, const Htuple Size)

void GaussImage(const HObject& Image, HObject* ImageGauss, const HTuple& Size)

HImage HImage::GaussImage(Hlong Size) const

static void HOperatorSet.GaussImage(HObject image, out HObject imageGauss, HTuple size)

HImage HImage.GaussImage(int size)

def gauss_image(image: HObject, size: int) -> HObject

Beschreibung

gauss_imagegauss_imageGaussImageGaussImagegauss_image glättet Bilder mittels der diskreten Gaußfunktion. Die glättende Wirkung erhöht sich dabei mit zunehmender Filtergröße. Es werden folgende Filtergrößen (SizeSizeSizesizesize) unterstützt (in Klammer steht der sigma-Wert der Gaußfunktion):

Zur Randbehandlung werden die Grauwerte der Bilder an den Bildrändern gespiegelt.

Als Alternative zu gauss_imagegauss_imageGaussImageGaussImagegauss_image bietet sich binomial_filterbinomial_filterBinomialFilterBinomialFilterbinomial_filter an. binomial_filterbinomial_filterBinomialFilterBinomialFilterbinomial_filter ist deutlich effizienter als gauss_imagegauss_imageGaussImageGaussImagegauss_image. Es ist zu beachten, dass die Maskengröße in binomial_filterbinomial_filterBinomialFilterBinomialFilterbinomial_filter nicht dieselbe Glättung wie bei gauss_imagegauss_imageGaussImageGaussImagegauss_image bewirkt. Korrespondierende Maskengrößen lassen sich über die jeweiligen sigma-Werte der Gaußfunktion bestimmen.

gauss_imagegauss_imageGaussImageGaussImagegauss_image kann auf OpenCL-Geräten ausgeführt werden. Allerdings kann das Ergebnis von dem der skalaren Implementierung geringfügig abweichen.

Das Konzept der Glättungsfilter ist in der Einleitung zum Kapitel Filter / Glättung beschrieben.

Achtung

Damit gauss_imagegauss_imageGaussImageGaussImagegauss_image auf einem OpenCL-Gerät ausgeführt werden kann, muss ImageImageImageimageimage eine Breite und Höhe von mindestens 64 Pixeln aufweisen.

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) objectHImageHObjectHObjectHobject (byte* / int2* / uint2* / int4* / real*) *erlaubt für Compute Devices

Zu glättendes Bild.

ImageGaussImageGaussImageGaussimageGaussimage_gauss (output_object)  (multichannel-)image(-array) objectHImageHObjectHObjectHobject * (byte / int2 / uint2 / int4 / real)

Gefiltertes Bild.

SizeSizeSizesizesize (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Gewünschte Filtergröße.

Default: 5

Werteliste: 3, 5, 7, 9, 11

Beispiel (HDevelop)

gauss_image(Input,Gauss,7)
regiongrowing(Gauss,Segments,7,7,5,100)

Beispiel (C)

gauss_image(Input,&Gauss,7,);
regiongrowing(Gauss,&Segments,7,7,5,100,);

Beispiel (HDevelop)

gauss_image(Input,Gauss,7)
regiongrowing(Gauss,Segments,7,7,5,100)

Beispiel (HDevelop)

gauss_image(Input,Gauss,7)
regiongrowing(Gauss,Segments,7,7,5,100)

Komplexität

Pro Bildpunkt: O(Size * 2).

Ergebnis

Sind die Parameterwerte korrekt, dann liefert gauss_imagegauss_imageGaussImageGaussImagegauss_image 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>)set_system("no_object_result",<Result>) festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Modul

Foundation