| Operatoren |
anisotropic_diffusion — Anisotrope Glättung eines Bildes.
anisotropic_diffusion(Image : ImageAniso : Mode, Contrast, Theta, Iterations : )
Der Operator anisotropic_diffusion führt eine anisotrope Diffusion des Eingabebildes Image nach dem Modell von Perona und Malik durch. Dieser Vorgang wird auch als nichtlinear isotrope Diffusion bezeichnet. Ordnet man dem Bild eine Grauwertfunktion u zu, so ist der Algorithmus eine Diskretisierung der partiellen Differentialgleichung
u_t = div(g(|grad u|^2, c) grad u)
mit dem durch Image definierten Anfangswert u = u_0 zu einem Zeitpunkt t_0. Die Gleichung wird dabei Iterations mal in Zeitschritten der Länge Theta iteriert, so dass das Ausgabebild ImageAniso die Grauwertfunktion zum Zeitpunkt t_0 + Iterations * Theta zeigt.
Ziel der anisotropen Diffusion ist es, in flächigen Bildbereichen Bildstörungen wie Rauschen zu eliminieren, ohne dabei Bildkanten zu verwischen. Die Unterscheidung zwischen Kanten und Flächen wird durch den Schwellwert Contrast für die Größe der Grauwertdifferenz zwischen benachbarten Pixeln getroffen. Contrast wird auch als Kontrastparameter bezeichnet und mit c abgekürzt.
Der variable Diffusionskoeffizient g kann dabei verschiedenen monoton fallenden Funktionen mit Werten zwischen 0 und 1 folgen und bestimmt das Antwortverhalten des Diffusionsvorganges auf eine Kante. Über den Parameter Mode stehen die folgenden Funktionen zur Verfügung:
g_1(x,c) = 1/sqrt( 1 + 2*x/c^2 )
Die Wahl der Funktion g_1, wenn Mode auf 'parabolic' gesetzt wird, garantiert, dass die zugehörige Differentialgleichung parabolisch ist, so dass eine Wohlgestelltheitstheorie für das Problem existiert und das Verfahren für beliebige Schrittweiten Theta stabil ist. In diesem Falle bleibt es aber bei einer leichten Diffusion auch über Kanten hinweg, deren Stärke c übersteigt.
g_2(x,c) = 1/( 1 + (x/c^2) )
Die in der Veröffentlichung von Perona und Malik verwendete Funktion bei Wahl von 'perona-malik' für Mode besitzt nicht die theoretischen Eigenschaften von g_1, hat sich in der Praxis aber dennoch als ausreichend stabil erwiesen. Die theoretische Instabilität zeigt sich in einer leichten Schärfung von starken Kanten.
g_3(x,c) = 1-exp(-C*c^8/x^4)
Die von Weickert vorgeschlagene Wahl g_3 bei Mode='weickert' mit der Konstanten C=3.31488 ist eine Steigerung von g_2 im Bezug auf die Kantenschärfe. Der Übergang zwischen Glättung und Schärfung erfolgt hier sehr abrupt an der Stelle x = c^2.
Eingabebild.
Ausgabebild.
Diffusionskoeffizient als Funktion der Kantenstärke.
Defaultwert: 'weickert'
Werteliste: 'parabolic', 'perona-malik', 'weickert'
Kontrastparameter.
Defaultwert: 5.0
Wertevorschläge: 2.0, 5.0, 10.0, 20.0, 50.0, 100.0
Restriktion: Contrast > 0
Zeitschritt.
Defaultwert: 1.0
Wertevorschläge: 0.5, 1.0, 3.0
Restriktion: Theta > 0
Anzahl Iterationen.
Defaultwert: 10
Wertevorschläge: 1, 3, 10, 100, 500
Restriktion: Iterations >= 1
J. Weickert; „'Anisotropic Diffusion in Image Processing'; PhD
Thesis; Fachbereich Mathematik, Universität Kaiserslautern; 1996.
P. Perona, J. Malik; „Scale-space and edge detection using
anisotropic diffusion“; Transactions on Pattern Analysis and
Machine Intelligence 12(7), pp. 629-639; IEEE; 1990.
G. Aubert, P. Kornprobst; „Mathematical Problems in Image
Processing“; Applied Mathematical Sciences 147; Springer, New
York; 2002.
Foundation
| Operatoren |