| Operatoren |
estimate_noise — Schätzung des Bildrauschens aus einem Bild.
Der Operator estimate_noise schätzt die Standardabweichung von additivem Rauschen innerhalb des Definitionsbereiches des in Image übergebenen Bildes.
In folgenden Anwendungsfällen ist der Operator hilfreich:
Bestimmung von MinContrast für das Matching,
Bestimmung der Kantenamplitude bei Kantenfiltern,
Beurteilung einer Kamera,
Überwachung der Fehlbedienung einer Kamera (z.B. zu hoher Gain durch den Anwender).
Die folgenden vier Methoden zur Schätzung des Rauschens stehen zur Verfügung:
'foerstner': Falls für Method 'foerstner' gewählt wird, wird zunächst für jedes Pixel ein Homogenitätsmaß basierend auf den ersten Ableitungen der Grauwerte von Image berechnet. Durch Anwendung eines Schwellwertes auf das Homogenitätsmaß erhält man die homogenen Bildbereiche. Der Schwellwert wird aus einem Näherungswert für das Bildrauschen gewonnen. Als Näherungswert dient der mit Hilfe der Methode 'immerkaer' (siehe unten) ermittelte Wert. Die Rauschschätzung basiert auf der Annahme, dass die Grauwertschwankungen innerhalb der homogenen Bildbereiche ausschließlich auf das Bildrauschen zurückzuführen sind. Außerdem wird angenommen, dass das Bildrauschen Gaußverteilt ist. Das über die homogenen Bereiche gemittelte Homogenitätsmaß wird dazu genutzt, eine verbesserte Schätzung für das Bildrauschen zu erhalten. Aus der verbesserten Schätzung kann schließlich ein neuer Schwellwert für das Homogenitätsmaß abgeleitet werden. Der bisher beschriebene Vorgang wird solange wiederholt, bis die verbesserte Schätzung genügend genau ermittelt worden ist. Letztendlich wird die Standardabweichung des geschätzten Bildrauschens in 'Sigma' zurückgeliefert.
Es ist zu beachten, dass die Iteration in einigen Fällen fälschlicherweise gegen den Wert 0 konvergiert. Dies kann z.B. dann auftreten, wenn Lücken im Grauwerthistogramm des Eingabebildes vorhanden sind. Lücken im Grauwerthistogramm können sowohl durch eine automatische radiometrische Skalierung innerhalb der Kamera oder des Framegrabbers verursacht werden als auch durch eine manuelle Spreizung der Grauwerte im Bild mit einem Skalierungsfaktor > 1.
Das mit dieser Methode ermittelte Ergebnis ist unabhängig von dem in Percent übergebenen Wert.
'immerkaer': Bei der Methode 'immerkaer' wird zunächst folgende Filtermaske auf das Eingabebild angewendet:
Der Vorteil dieser Methode ist, dass M weitgehend unabhängig vom Bildinhalt ist und nur vom Bildrauschen beeinflusst wird. Geht man von einem Gaußverteilten Rauschen aus, so kann dessen Standardabweichung schließlich wie folgt ermittelt werden:
Dabei beschreibt N die Anzahl der Pixel, auf die M angewendet wurde.
Das mit dieser Methode ermittelte Ergebnis ist unabhängig von dem in Percent übergebenen Wert.
'least_squares': Falls für Method 'least_squares' gewählt wird, werden die Grauwertschwankungen relativ zu einer lokal geschätzten Grauwertebene genutzt, um das Bildrauschen zu ermitteln. Dafür wird zunächst ein Homogenitätsmaß basierend auf den ersten Ableitungen der Grauwerte von Image berechnet. Homogene Bildbereiche werden ermittelt, indem die Percent Prozent homogensten Pixel, d.h. Pixel mit kleiner erster Ableitung, im Definitionsbereich des Eingabebildes ausgewählt werden. Für jedes ausgewählte Pixel wird eine Ebene an die Grauwerte innerhalb einer 3x3-Umgebung angepasst. Die Differenzen zwischen dieser Ebene und den Grauwerten in der 3x3-Umgebung dienen dazu, die Standardabweichung des Rauschens zu ermitteln. Schließlich wird die über alle homogenen Pixel gemittelte Standardabweichung in Sigma zurückgegeben.
'mean': Falls für Method 'mean' gewählt wird, basiert die Ermittlung des Bildrauschens auf der Differenz zwischen dem Eingabebild und einer rauschfreien Version des Eingabebildes. Dafür wird zunächst ein Homogenitätsmaß basierend auf den ersten Ableitungen der Grauwerte von Image berechnet. Homogene Bildbereiche werden ermittelt, indem die Percent Prozent homogensten Pixel, d.h. Pixel mit kleiner erster Ableitung, im Definitionsbereich des Eingabebildes ausgewählt werden. Die anschließende Anwendung eines Mittelwertfilters auf die homogenen Bildregionen dient der Eliminierung des Bildrauschens. Es wird angenommen, dass die Differenz zwischen dem Eingabebild und dessen rauschfreier Version das zu ermittelnde Rauschen enthält. Schließlich wird die Standardabweichung der Differenzen in Sigma zurückgegeben. Bei der Anwendung dieses Verfahrens ist darauf zu achten, dass eine zuverlässige Ermittlung des Bildrauschens große zusammenhängende homogene Bildregionen voraussetzt.
Es gilt zu beachten, dass die Methoden 'foerstner' und 'immerkaer' von einem Gaußverteilten Bildrauschen ausgehen, während die Methoden 'least_squares' und 'mean' auch auf Bilder mit beliebig verteiltem Rauschen angewendet werden können. Allgemein gilt, dass die Methode 'foerstner' die genauesten Ergebnisse liefert, während die Methode 'immerkaer' die kürzeste Berechnungszeit aufweist.
Sollte das Bildrauschen nicht zuverlässig geschätzt werden können, wird der Fehler 3175 zurückgegeben. Dies tritt insbesondere dann auf, wenn das Eingabebild nicht genügend homogene Regionen beinhaltet, das Eingabebild künstlich erzeugt wurde oder das Rauschen nicht Gaußverteilt ist. Um diesen Fehler zu vermeiden, kann es in manchen Fällen sinnvoll sein, in Abhängigkeit der verwendeten Methode Method, eine der folgenden Änderungen vorzunehmen:
Vergrößern des Definitionsbereiches des Eingabebildes (bei allen Methoden anwendbar).
Erhöhen des Wertes für den Parameter Percent (bei den Methoden 'least_squares' und 'mean' anwendbar).
Verwenden der Methode 'immerkaer' anstatt der Methoden 'foerstner', 'least_squares', oder 'mean'. Die Methode 'immerkaer' ist nicht auf das Vorhandensein homogener Bildregionen angewiesen und ist somit in fast allen Fällen anwendbar.
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.
Eingabebild.
Methode zur Schätzung des Bildrauschens.
Defaultwert: 'foerstner'
Werteliste: 'foerstner', 'immerkaer', 'least_squares', 'mean'
Prozentsatz der verwendeten Bildpunkte.
Defaultwert: 20
Wertevorschläge: 1, 2, 5, 7, 10, 15, 20, 30, 40, 50
Restriktion: 0 < Percent && Percent <= 50.
Standardabweichung des Bildrauschens.
Zusicherung: Sigma >= 0
read_image (Image, 'combine') estimate_noise (ImageNoise, 'foerstner', 20, SigmaFoerstner) estimate_noise (ImageNoise, 'immerkaer', 20, SigmaImmerkaer) estimate_noise (ImageNoise, 'least_squares', 20, SigmaLeastSquares) estimate_noise (ImageNoise, 'mean', 20, SigmaMean)
Sind die Parameterwerte korrekt, dann liefert estimate_noise den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt. Konnte das Rauschen nicht zuverlässig geschätzt werden, wird die Fehlermeldung 3175 zurückgeliefert.
grab_image, grab_image_async, read_image, reduce_domain
binomial_filter, gauss_filter, mean_image, smooth_image
noise_distribution_mean, intensity, min_max_gray
gauss_distribution, add_noise_distribution
W. Förstner: „Image Preprocessing for Feature Extraction in Digital
Intensity, Color and Range Images„, Springer Lecture Notes on Earth
Sciences, Summer School on Data Analysis and the Statistical
Foundations of Geomatics, 1999
J. Immerkaer: „Fast Noise Variance Estimation„, Computer Vision
and Image Understanding, Vol. 64, No. 2, pp. 300-302, 1996
Foundation
| Operatoren |