mean_image_shapemean_image_shapeMeanImageShapeMeanImageShapemean_image_shape (Operator)

Name

mean_image_shapemean_image_shapeMeanImageShapeMeanImageShapemean_image_shape — Glättung durch Mittelwertbildung mit beliebiger Maske.

Signatur

mean_image_shape(Image, Mask : ImageMean : : )

Herror mean_image_shape(const Hobject Image, const Hobject Mask, Hobject* ImageMean)

Herror T_mean_image_shape(const Hobject Image, const Hobject Mask, Hobject* ImageMean)

void MeanImageShape(const HObject& Image, const HObject& Mask, HObject* ImageMean)

HImage HImage::MeanImageShape(const HRegion& Mask) const

static void HOperatorSet.MeanImageShape(HObject image, HObject mask, out HObject imageMean)

HImage HImage.MeanImageShape(HRegion mask)

def mean_image_shape(image: HObject, mask: HObject) -> HObject

Beschreibung

mean_image_shapemean_image_shapeMeanImageShapeMeanImageShapemean_image_shape führt eine Mittelwertfilterung des Eingabebildes ImageImageImageimageimage mit einer Maske, die durch die Region MaskMaskMaskmaskmask beschrieben wird, durch und liefert das gefilterte Bild in ImageMeanImageMeanImageMeanimageMeanimage_mean zurück. Die Form der Maske kann beliebig gewählt werden und z.B. mit Operatoren wie gen_circlegen_circleGenCircleGenCirclegen_circle oder draw_regiondraw_regionDrawRegionDrawRegiondraw_region erzeugt werden. Die Position der Maske spielt dabei keine Rolle, da der Schwerpunkt der Maskenregion als Referenzpunkt der Maske verwendet wird. Als Randbehandlung werden die Grauwerte an den Bildrändern gespiegelt.

Für mean_image_shapemean_image_shapeMeanImageShapeMeanImageShapemean_image_shape sind spezielle Optimierungen unter Verwendung von SIMD Technologie implementiert. Ob diese tatsächlich zur Anwendung kommen, kann über den Systemparameter 'avx2_enable'"avx2_enable""avx2_enable""avx2_enable""avx2_enable" (siehe set_systemset_systemSetSystemSetSystemset_system) gesteuert werden. Falls 'avx2_enable'"avx2_enable""avx2_enable""avx2_enable""avx2_enable" auf 'true'"true""true""true""true" gesetzt wird (und die verwendete Hardware SIMD Technologie unterstützt), wird die Berechnung intern unter Verwendung von SIMD Technologie durchgeführt. Diese Optimierungen werden nur für Byte-Bilder und im Falle von Masken, deren Fläche kleiner als 129 ist, verwendet.

Es ist zu beachten, dass mean_image_shapemean_image_shapeMeanImageShapeMeanImageShapemean_image_shape kompakte Eingaberegionen am schnellsten verarbeiten kann.

In jedem Falle wirkt es sich günstig auf das Laufzeitverhalten von mean_image_shapemean_image_shapeMeanImageShapeMeanImageShapemean_image_shape aus, wenn man die Eingaberegion von ImageImageImageimageimage so wählt, dass es zu keiner Randbehandlung kommt.

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

Ausführungsinformationen

Parameter

ImageImageImageimageimage (input_object)  (multichannel-)image(-array) objectHImageHObjectHObjectHobject (byte / uint2 / real)

Zu filterndes Bild.

MaskMaskMaskmaskmask (input_object)  region objectHRegionHObjectHObjectHobject

Filtermaske.

ImageMeanImageMeanImageMeanimageMeanimage_mean (output_object)  (multichannel-)image(-array) objectHImageHObjectHObjectHobject * (byte / uint2 / real)

Gefiltertes Bild.

Beispiel (HDevelop)

read_image (Image, 'fabrik')
gen_circle (Circle, 10, 10, 2)
mean_image_shape (Image, Circle, ImageMean)
dev_display (ImageMean)

Ergebnis

Sind die Parameterwerte korrekt, dann liefert mean_image_shapemean_image_shapeMeanImageShapeMeanImageShapemean_image_shape 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.

Vorgänger

read_imageread_imageReadImageReadImageread_image, reduce_domainreduce_domainReduceDomainReduceDomainreduce_domain, rectangle1_domainrectangle1_domainRectangle1DomainRectangle1Domainrectangle1_domain, gen_circlegen_circleGenCircleGenCirclegen_circle

Nachfolger

dyn_thresholddyn_thresholdDynThresholdDynThresholddyn_threshold, regiongrowingregiongrowingRegiongrowingRegiongrowingregiongrowing

Alternativen

binomial_filterbinomial_filterBinomialFilterBinomialFilterbinomial_filter, gauss_filtergauss_filterGaussFilterGaussFiltergauss_filter, smooth_imagesmooth_imageSmoothImageSmoothImagesmooth_image, mean_imagemean_imageMeanImageMeanImagemean_image

Siehe auch

anisotropic_diffusionanisotropic_diffusionAnisotropicDiffusionAnisotropicDiffusionanisotropic_diffusion, sigma_imagesigma_imageSigmaImageSigmaImagesigma_image, convol_imageconvol_imageConvolImageConvolImageconvol_image, gen_lowpassgen_lowpassGenLowpassGenLowpassgen_lowpass

Modul

Foundation