trimmed_mean
— Glättung mit einer beliebigen Rangmaske.
trimmed_mean(Image, Mask : ImageTMean : Number, Margin : )
trimmed_mean
führt eine nichtlineare Glättung der
Grauwerte aller Eingabebilder (Image
) durch. Die
Verschiebungsmaske (Mask
) wird in Form einer Region
übergeben. Berechnet wird der Mittelwert von Number
Grauwert, die in der Nähe des Medians liegen. Es kann bei der
Filterung zwischen verschiedenen Randbehandlungen
(Margin
) gewählt werden:
Grauwert Bildpunkte außerhalb der Bildränder
werden als konstant (mit dem angegebenen
Grauwert) angenommen.
'continued' Fortsetzung der Randpunkte.
'cyclic' zyklische Fortsetzung der Bildränder.
'mirrored' Spiegelung der Bildpunkte an den Bildrändern.
Die angegebene Maske (= Region des Maskenbildes) wird so über die zu
filternden Bilder geschoben, dass der Schwerpunkt der Maske alle
Bildpunkte einmal berührt. Für jeden solchen Bildpunkt werden
alle Nachbarpunkte, die von der Maske überdeckt werden, bzgl. ihrer
Grauwerte aufsteigend sortiert. Jede solche sortierte Sequenz von
Grauwerten enthält somit genau so viele Grauwerte, wie die Maske
Bildpunkte hat. Sei F die Fläche der Maske, dann wird aus diesen
Sequenzen der Mittelwert folgendermaßen berechnet: Die ersten (F -
Number)/2 Grauwerte werden ignoriert. Dann werden die folgenden
Number
Grauwerte aufsummiert und durch Number
dividiert. Die verbleibenden (F - Number
)/2 Grauwerte
werden wiederum ignoriert.
Das Konzept der Glättungsfilter ist in der Einleitung zum Kapitel Filter / Glättung beschrieben.
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.
Image
(input_object) (multichannel-)image(-array) →
object (byte / int2 / uint2 / int4 / real)
Zu filterndes Bild.
Mask
(input_object) region →
object
Bild, dessen Region als Filtermaske dient.
ImageTMean
(output_object) (multichannel-)image(-array) →
object (byte / int2 / uint2 / int4 / real)
Gefiltertes Ergebnisbild.
Number
(input_control) integer →
(integer)
Anzahl der Punkte über die gemittelt wird. Typischer Wert: Fläche(Mask) / 2.
Defaultwert: 5
Wertevorschläge: 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31
Typischer Wertebereich: 1
≤
Number
≤
401
Minimale Schrittweite: 1
Empfohlene Schrittweite: 2
Margin
(input_control) string →
(string / integer / real)
Randbehandlung.
Defaultwert: 'mirrored'
Wertevorschläge: 'mirrored' , 'cyclic' , 'continued' , 0, 30, 60, 90, 120, 150, 180, 210, 240, 255
read_image(Image,'fabrik') draw_region(Region,WindowHandle) trimmed_mean(Image,Region,TrimmedMean,5,'mirrored') dev_display(TrimmedMean)
Sind die Parameterwerte korrekt, dann liefert
trimmed_mean
den Wert 2 (H_MSG_TRUE). Das Verhalten bei leerer
Eingabe (keine Eingabebilder vorhanden) lässt sich mittels
set_system('no_object_result',<Result>)
festlegen.
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
read_image
,
draw_region
,
gen_circle
,
gen_rectangle1
threshold
,
dyn_threshold
,
regiongrowing
sigma_image
,
median_weighted
,
median_image
gen_circle
,
gen_rectangle1
,
gray_erosion_rect
,
gray_dilation_rect
R. Haralick, L. Shapiro; „Computer and Robot Vision“; Addison-Wesley, 1992, Seite 320
Foundation