Operatoren |
Dieses Kapitel beschreibt Operatoren für Glättungsfilter. Für weitere Informationen über Filter und deren Anwendung verweisen wir auf die Einleitung zum Kapitel Filter.
Glättungsfilter sind Filter zur Unterdrückung des Rauschens eines Bildes. Zu diesem Zweck wird angenommen, dass im ungestörten oder richtigen Bild der Grauwert eines jeden Punktes sich nicht komplett von seiner Umgebung abhebt, im Idealfall gar nur wenig variiert. Dann kann es hilfreich sein, den gemessenen Wert durch eine Abschätzung anhand benachbarter Datenpunkte zu ersetzen. Eine solche Abschätzung kann auf verschiedene Arten erhalten werden. HALCON stellt daher verschiedene Glättungsfilter zur Verfügung.
Die verschiedenen Operatoren sind für verschiedene Arten von Rauschen geeignet und unterscheiden sich auch bezüglich ihrer Geschwindigkeit. Informationen zur Komplexität (wie die Skalierung) ist, wenn zur Verfügung stehend, in der spezifischen Operator-Referenz zu finden. Während die meisten Operatoren ein einzelnes Bild behandeln, gibt es auch solche, die ein Bild in Abhängigkeit eines anderen Bildes bearbeiten (z.B. Mehrkanalfilter wie mean_n und rank_n oder kantenerhaltende Filter wie guided_filter und bilateral_filter, welche ein Führungsbild benutzen können). Es sei erwähnt, dass manche Filter beide Möglichkeiten haben und weitere Information jeweils in der spezifischen Operator-Referenz steht.
Diese Glättungsfilter wenden ihre Glättungsfunktion auf jedem Kanal des Eingabebildes separat an und geben ein geglättetes Bild mit gleicher Anzahl Kanäle zurück. In der folgenden Tabelle listen wir verschiedene, implementierte Glättungsfilter und wenden diese auf drei verschiedene Arten zufälligen Rauschens an. Die gezeigten Bilder geben bloß einen Hinweis auf die Möglichkeiten des Operators für das gegebene Rauschen. Das geglättete Bild ist stark von den verwendeten Parametern und dem Bild abhängig. Zum Vergleich zeigen wir die verschiedenen verrauschten Bilder ungefiltert in der ersten Zeile der Tabelle. Das unverrauschte Bild ist in der folgenden Abbildung zu sehen ((1) das ganze Bild sowie (2) der Bildausschnitt, der für eine deutlichere Visualisierung möglicher Effekte auf Kanten oder Überbleibsel des Salt & Pepper Rauschens verwendet wird).
| ||||
(1) Unverrauschtes Bild, (2) gewählter Bildausschnitt zur besseren Visualisierung der Filtereigenschaften |
Weißes Rauschen | Gauß'sches Rauschen | Salt & Pepper Rauschen | Zeitdauer[1] | Alternativen |
---|---|---|---|---|
Verrauschtes Bild | ||||
|
|
|
mean_image(G) | ||||
|
|
|
1 | 1 | binomial_filter, gauss_filter, smooth_image |
anisotropic_diffusion(E)[2] | ||||
|
|
|
805|2568 | bilateral_filter, guided_filter |
guided_filter(E)[2,3] | ||||
|
|
|
13 | 62 | bilateral_filter, anisotropic_diffusion, median_image |
bilateral_filter(E)[3] | ||||
|
|
|
16 | 54 | guided_filter, anisotropic_diffusion, median_image |
isotropic_diffusion(E)[2] | ||||
|
|
|
11 | 51 |
sigma_image | ||||
|
|
|
10 | 33 | anisotropic_diffusion, rank_image |
midrange_image | ||||
|
|
|
3 | 11 | sigma_image |
median_image(E) | ||||
|
|
|
3 | 4 | median_rect, rank_image, rank_rect |
median_rect(K) | ||||
|
|
|
2 | 3 | median_image, rank_rect, rank_image |
median_separate(K) | ||||
|
|
|
7 | 24 | median_image |
median_weighted | ||||
|
|
|
14 | 47 | median_image, trimmed_mean, sigma_image |
rank_image(E) | ||||
|
|
|
3 | 15 | rank_rect, median_image, median_rect |
eliminate_min_max | ||||
|
|
|
11 | 42 |
Die Zahlen in der Spalte 'Zeitdauer' geben Hinweise zur Laufzeit, welche der Operator für die Bildverarbeitung benötigt. Die Zeitangaben sind in willkürlichen Einheiten. Erhalten wurden sie durch Mittelung über mehrere Glättungen der unterschiedlich verrauschten Bilder. Die Laufzeit des Operators hängt von vielen Faktoren ab, nicht zuletzt von den Parametern oder der Bildgröße. Für jeden Filter steht die erste Zahl für ein Bild der Größe 800x600, die Zweite für ein Bild der Größe 1497x1160. Die gezeigten Bilder sind Ausschnitte des geglätteten kleineren Bildes mit uns vernünftig erscheinenden Parameterwerten (dabei führen die verwendeten Parameter weder notwendigerweise zu den besten Resultaten noch zur schnellsten Laufzeit). Selbst wenn zwei Filter den selben Parameternamen als Eingabegröße verwenden, haben wir nicht notwendigerweise die selben Werte verwendet. Die Zeitangaben dienen also eher zur groben Orientierung.
Dieser Operator kann iterativ verwendet werden.
Dieser Operator verwendet ein Führungsbild (welches auch das Bild Image selbst sein kann).
Videobilder, die aus zwei Halbbildern zusammengesetzt sind, können systematische Fehler enthalten. In solchen Fällen kann der Operator fill_interlace helfen.
Diese Glättungsfilter nehmen als Eingabe ein Bild mehrerer Kanäle und geben ein Bild mit nur einem Kanal (Graubild) zurück. In HALCON sind folgende Filter dieser Gruppe implementiert:
Mit den Glättungsfiltern verbunden ist der folgende Operator: info_smooth, welcher Informationen zum Operator smooth_image zurück gibt.
Im Folgenden werden die wichtigsten Begriffe, die im Umfeld von Glättungsfiltern verwendet werden, beschrieben:
Glättung bezeichnet das Anwenden einer Filterfunktion auf ein gegebenes Bild, um die wichtigsten Datenmuster zu erfassen und gleichzeitig das Rauschen zu unterdrücken.
Als zufälliges Rauschen verstehen wir stationäre Änderungen der Helligkeits- oder Farbinformation der Pixel um einen zufälligen Wert, wobei ein Mittelwert von 0 über das ganze Bild angenommen wird.
Systematisches Rauschen ist berechenbares Rauschen, verursacht z.B. durch den spezifischen Aufbau zur Bildgewinnung.
Operatoren |