mean_image_shapemean_image_shapeMeanImageShapeMeanImageShapemean_image_shape (Operator)
Name
mean_image_shapemean_image_shapeMeanImageShapeMeanImageShapemean_image_shape — Glättung durch Mittelwertbildung mit beliebiger Maske.
Signatur
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
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Automatisch parallelisiert auf Tupelebene.
- Automatisch parallelisiert auf Kanalebene.
- Automatisch parallelisiert auf interner Datenebene.
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