eliminate_min_max
— Ortsraumglättung zur Entfernung von Rauschspitzen.
eliminate_min_max(Image : FilteredImage : MaskWidth, MaskHeight, Gap, Mode : )
eliminate_min_max
filtert Rauschspitzen aus einem verrauschten
Bild. Hierfür wird das Bild punktweise im Ortsraum verarbeitet. Um Kanten
und Linien nicht allzusehr zu glätten, werden nur diejenigen Bildpunkte
ersetzt, die ein lokales Minimum bzw. Maximum darstellen. Der Gedanke
hierbei ist, dass bei Kanten oder Linien noch mindestens ein weiterer
Punkt innerhalb der lokalen Umgebung existiert, der ungefähr denselben
Grauwert besitzt wie der betrachtete. Dadurch bleibt die Bedingung eines
lokalen Minimums/Maximums unerfüllt, der Punkt wird nicht ersetzt und die
Kante/Linie nicht geglättet. Um die Strenge der Ersetzungsbedingung
beeinflussen zu können, kann mit Gap
angegeben
werden, um wieviel kleiner bzw. größer das lokale Minimum/Maximum
gegenüber den anderen Grauwerten mindestens sein muss.
eliminate_min_max
arbeitet also nach folgendem Schema:
Enthalte U(x,y) alle Grauwerte der NxM großen,
rechteckigen lokalen Umgebung
des Punktes (x,y), außer dem Grauwert des Punktes
(x,y) selbst;
Falls Grauwert(x,y) >= Gap
+ maximum(U(x,y))
--> Ersetzung;
Falls Grauwert(x,y) + Gap
<= minimum(U(x,y))
--> Ersetzung;
sonst Grauwert(x,y) gleichbelassen;
Mit welchem neuen Wert ein zu ersetzender Punkt belegt wird, ist durch
Mode
zu steuern:
Mode
= 1 --> Ersetzung eines lokalen Maximums durch das
nächstkleinere lokale Maximum und
Ersetzung eines lokalen Minimums durch das
nächstgrößere lokale Minimum
Mode
= 2 --> Ersetzung durch das (ungewichtete) arithmetische
Mittel aller Punkte innerhalb der lokalen Umgebung
(inkl. des betrachteten Punktes)
Mode
= 3 --> Ersetzung durch den Median-Wert aller Punkte
innerhalb der lokalen Umgebung
(inkl. des betrachteten Punktes)
(auch bei allen anderen Werten von
Mode außer 1,2)
Die Breite und Höhe der (rechteckigen) lokalen Punktumgebung wird durch
MaskWidth
und MaskHeight
festgelegt.
Bemerkung zur Randbehandlung: Punkte jenseits des Bildrands werden nicht
in die Betrachtung einbezogen. Sei z.B. eine 3x3-Maske
gegeben, so reduziert
sich die lokale Umgebung des Punktes (0,0) auf die Werte von
(1,0),(0,1) und
(1,1).
Das Konzept der Glättungsfilter ist in der Einleitung zum Kapitel Filter / Glättung beschrieben.
Der Filter ist nur für Bilder vom Typ 'byte' implementiert.
Werden für MaskWidth
und MaskHeight
gerade statt ungerader
Werte übergeben, verwendet die Routine an ihrer Stelle die nächstgrößeren
ungeraden Werte (damit ist der Schwerpunkt der Filtermaske immer eindeutig
bestimmt).
Die Filtermaskenbreite bzw. -höhe darf die Bildbreite bzw. -höhe nicht
überschreiten.
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 / uint2)
Bild, das gefiltert werden soll.
FilteredImage
(output_object) (multichannel-)image(-array) →
object (byte / uint2)
Geglättetes Bild.
MaskWidth
(input_control) extent.x →
(integer)
Breite der rechteckigen Filtermaske.
Defaultwert: 3
Wertevorschläge: 3, 5, 7, 9
Typischer Wertebereich: 3
≤
MaskWidth
≤
width(Image)
Minimale Schrittweite: 2
Empfohlene Schrittweite: 2
Restriktion: odd(MaskWidth)
MaskHeight
(input_control) extent.y →
(integer)
Höhe der rechteckigen Filtermaske.
Defaultwert: 3
Wertevorschläge: 3, 5, 7, 9
Typischer Wertebereich: 3
≤
MaskHeight
≤
width(Image)
Minimale Schrittweite: 2
Empfohlene Schrittweite: 2
Restriktion: odd(MaskWidth)
Gap
(input_control) number →
(real)
Mindestabstand vom lokalen Minimum/Maximum zu allen anderen Grauwerten der lokalen Punktumgebung.
Defaultwert: 1.0
Wertevorschläge: 1.0, 2.0, 5.0, 10.0
Mode
(input_control) integer →
(integer)
Ersetzungsvorschrift für zu ersetzende Grauwerte (1=nächstes Minimum/Maximum, 2=Average, sonst Median).
Defaultwert: 3
Werteliste: 1, 2, 3
Sind die Parameterwerte korrekt, dann liefert eliminate_min_max
den Wert 2 (H_MSG_TRUE).
Bei einer leeren Eingabe wird mit einer entsprechenden Fehlermeldung
abgebrochen.
wiener_filter
,
wiener_filter_ni
mean_sp
,
mean_image
,
median_image
,
median_weighted
,
binomial_filter
,
gauss_filter
,
smooth_image
M. Imme:„A Noise Peak Elimination Filter“; S. 204-211 in CVGIP
Graphical Models and Image Processing, Vol. 53, No. 2, March 1991
M. Lückenhaus:„Grundlagen des Wiener-Filters und seine Anwendung in der
Bildanalyse“; Diplomarbeit;
Technische Universität München, Institut für Informatik;
Lehrstuhl Prof. Radig; 1995.
Foundation