sigma_image
— Nichtlineare Glättung mit dem Sigmafilter.
sigma_image(Image : ImageSigma : MaskHeight, MaskWidth, Sigma : )
sigma_image
führt eine nichtlineare Glättung der Grauwerte
aller Eingabebilder (Image
) durch. Alle
Bildpunkte in einem rechteckigen Fenster (MaskHeight x
MaskWidth)
werden verwendet, um den neuen Grauwert des zentralen Bildpunktes
in diesem Fenster zu bestimmen. Zunächst wird die Standardabweichung
der Grauwerte aller Bildpunkte in diesem Fenster berechnet. Dann
werden alle Bildpunkte des Fensters, deren Grauwert von dem des
zentralen Bildpunktes um weniger als Sigma
abweicht,
verwendet, um den neuen Wert des zentralen Bildpunktes zu berechnen.
Der Grauwert des zentralen Bildpunktes ergibt sich aus dem Mittelwert
dieser ausgewählten Bildpunkte. Wenn kein Bildpunkt für die
Mittelwertbestimmung der Grauwerte ausgewählt werden konnte, wird der
Grauwert des zentralen Bildpunktes unverändert übernommen.
Das Konzept der Glättungsfilter ist in der Einleitung zum Kapitel Filter / Glättung beschrieben.
Werden für MaskHeight
oder MaskWidth
gerade statt
ungerade Werte übergeben, verwendet die Routine an ihrer Stelle die
nächstgrößeren ungeraden Werte (damit ist der Schwerpunkt der
Filtermaske immer eindeutig bestimmt).
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 / cyclic / int1 / int2 / uint2 / int4 / real)
Zu glättendes Bild.
ImageSigma
(output_object) (multichannel-)image(-array) →
object (byte / cyclic / int1 / int2 / uint2 / int4 / real)
Geglättetes Bild.
MaskHeight
(input_control) extent.y →
(integer)
Fenstergröße für Mittelung (Anzahl Zeilen).
Defaultwert: 5
Wertevorschläge: 3, 5, 7, 9, 11, 13, 15
Typischer Wertebereich: 3
≤
MaskHeight
≤
101
Minimale Schrittweite: 2
Empfohlene Schrittweite: 2
Restriktion: odd(MaskHeight)
MaskWidth
(input_control) extent.x →
(integer)
Fenstergröße für Mittelung (Anzahl Spalten).
Defaultwert: 5
Wertevorschläge: 3, 5, 7, 9, 11, 13, 15
Typischer Wertebereich: 3
≤
MaskWidth
≤
101
Minimale Schrittweite: 2
Empfohlene Schrittweite: 2
Restriktion: odd(MaskWidth)
Sigma
(input_control) integer →
(integer)
Maximale Differenz zum Mittelwert.
Defaultwert: 3
Wertevorschläge: 3, 5, 7, 9, 11, 20, 30, 50
Typischer Wertebereich: 0
≤
Sigma
≤
255
Minimale Schrittweite: 1
Empfohlene Schrittweite: 2
read_image(Image,'fabrik') sigma_image(Image,ImageSigma,5,5,3) dev_display(ImageSigma)
Pro Bildpunkt: O(MaskHeight*MaskWidth).
Sind die Parameterwerte korrekt, dann liefert sigma_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>)
festlegen.
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
threshold
,
dyn_threshold
,
regiongrowing
anisotropic_diffusion
,
rank_image
smooth_image
,
binomial_filter
,
gauss_filter
,
mean_image
R. Haralick, L. Shapiro; „Computer and Robot Vision“; Addison-Wesley, 1992, Seite 325
Foundation