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_shapeMeanImageShapeMeanImageShapeMeanImageShapemean_image_shape führt eine Mittelwertfilterung des Eingabebildes ImageImageImageImageimageimage mit einer Maske, die durch die Region MaskMaskMaskMaskmaskmask beschrieben wird, durch und liefert das gefilterte Bild in ImageMeanImageMeanImageMeanImageMeanimageMeanimage_mean zurück. Die Form der Maske kann beliebig gewählt werden und z.B. mit Operatoren wie gen_circlegen_circleGenCircleGenCircleGenCirclegen_circle oder draw_regiondraw_regionDrawRegionDrawRegionDrawRegiondraw_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_shapeMeanImageShapeMeanImageShapeMeanImageShapemean_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""avx2_enable" (siehe set_systemset_systemSetSystemSetSystemSetSystemset_system) gesteuert werden. Falls 'avx2_enable'"avx2_enable""avx2_enable""avx2_enable""avx2_enable""avx2_enable" auf 'true'"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_shapeMeanImageShapeMeanImageShapeMeanImageShapemean_image_shape kompakte Eingaberegionen am schnellsten verarbeiten kann.

In jedem Falle wirkt es sich günstig auf das Laufzeitverhalten von mean_image_shapemean_image_shapeMeanImageShapeMeanImageShapeMeanImageShapemean_image_shape aus, wenn man die Eingaberegion von ImageImageImageImageimageimage 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

ImageImageImageImageimageimage (input_object)  (multichannel-)image(-array) objectHImageHObjectHImageHobject (byte / uint2 / real)

Zu filterndes Bild.

MaskMaskMaskMaskmaskmask (input_object)  region objectHRegionHObjectHRegionHobject

Filtermaske.

ImageMeanImageMeanImageMeanImageMeanimageMeanimage_mean (output_object)  (multichannel-)image(-array) objectHImageHObjectHImageHobject * (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_shapeMeanImageShapeMeanImageShapeMeanImageShapemean_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>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>) festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

read_imageread_imageReadImageReadImageReadImageread_image, reduce_domainreduce_domainReduceDomainReduceDomainReduceDomainreduce_domain, rectangle1_domainrectangle1_domainRectangle1DomainRectangle1DomainRectangle1Domainrectangle1_domain, gen_circlegen_circleGenCircleGenCircleGenCirclegen_circle

Nachfolger

dyn_thresholddyn_thresholdDynThresholdDynThresholdDynThresholddyn_threshold, regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowingregiongrowing

Alternativen

binomial_filterbinomial_filterBinomialFilterBinomialFilterBinomialFilterbinomial_filter, gauss_filtergauss_filterGaussFilterGaussFilterGaussFiltergauss_filter, smooth_imagesmooth_imageSmoothImageSmoothImageSmoothImagesmooth_image, mean_imagemean_imageMeanImageMeanImageMeanImagemean_image

Siehe auch

anisotropic_diffusionanisotropic_diffusionAnisotropicDiffusionAnisotropicDiffusionAnisotropicDiffusionanisotropic_diffusion, sigma_imagesigma_imageSigmaImageSigmaImageSigmaImagesigma_image, convol_imageconvol_imageConvolImageConvolImageConvolImageconvol_image, gen_lowpassgen_lowpassGenLowpassGenLowpassGenLowpassgen_lowpass

Modul

Foundation