mean_curvature_flow
— Anwendung der Krümmungsflussgleichung auf ein Bild.
mean_curvature_flow(Image : ImageMCF : Sigma, Theta, Iterations : )
Der Operator mean_curvature_flow
wendet die Krümmungsfluss-
oder intrinsische Wärmeleitungsgleichung
auf die durch das Eingabebild Image
zu einem Zeitpunkt
definierte Grauwertfunktion u an. Die
diskretisierte Gleichung wird in Iterations
Zeitschritten
der Länge Theta
gelöst, so dass das Ausgabebild
ImageMCF
die Grauwertfunktion zur Zeit
enthält.
Der Krümmungsfluss bewirkt eine Glättung von Image
in
Richtung der Bildkanten, also entlang der Niveaulinien von u,
während senkrecht zur Kantenrichtung keine Glättung durchgeführt
wird und die Ränder von Bildobjekten somit nicht verwischen. Um die
Kantenrichtungen insbesondere bei verrauschten Eingabedaten stabiler
zu bestimmen, kann der Berechnung der Grauwertgradienten ein
zusätzlicher isotroper Glättungsschritt vorgeschaltet werden. Der
Parameter Sigma
bestimmt die Stärke dieser Glättung als
Standardabweichung des zugehörigen Gauß-Faltungskernes, wie er
auch im Operator isotropic_diffusion
zur isotropen Glättung
eines Bildes verwendet wird.
Die folgenden Abbildungen zeigen den Effekt der Parameter
Sigma
, Theta
, und Iterations
. Zuerst wird
das Eingabebild zusammen mit dem Ergebnis dargestellt, das man mit den
Defaultwerten erhält.
(1) | (2) |
In den folgenden Abbildungen werden die Ergebnisse dargestellt, die man erhält, wenn jeweils ein Parameterwert verändert wird, während die anderen beiden auf ihren jeweiligen Defaultwert gesetzt sind.
Sigma
steuert die Stärke der Glättung, die vor der Berechnung
der Grauwertgradienten durchgeführt wird. Es sollten keine zu großen
Werte für Sigma
verwendet werden, da dies zu unerwünschten
Effekten führen kann.
(1) | (2) | (3) |
Theta
steuert die Schrittweite innerhalb des iterativen
Glättungsprozesses. Größere Werte führen zu einer stärkeren Glättung.
(1) | (2) | (3) |
Iterations
legt die Anzahl von Iterationen fest, die
durchgeführt werden. Mit steigender Anzahl von Iterationen nimmt auch
die Laufzeit zu. Darüberhinaus kann eine hohe Anzahl von Iterationen
zu einem Verlust der Bildstruktur im geglätteten Bild führen.
(1) | (2) | (3) |
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 / real)
Eingabebild.
ImageMCF
(output_object) image(-array) →
object (byte / uint2 / real)
Ausgabebild.
Sigma
(input_control) real →
(real)
Glättungsparameter für Ableitungsoperator.
Defaultwert: 0.5
Wertevorschläge: 0.0, 0.1, 0.5, 1.0
Restriktion: Sigma >= 0
Theta
(input_control) real →
(real)
Zeitschritt.
Defaultwert: 0.5
Wertevorschläge: 0.1, 0.2, 0.3, 0.4, 0.5
Restriktion: 0 < Theta <= 0.5
Iterations
(input_control) integer →
(integer)
Anzahl Iterationen.
Defaultwert: 10
Wertevorschläge: 1, 5, 10, 20, 50, 100, 500
Restriktion: Iterations >= 1
M. G. Crandall, P. Lions; „Convergent Difference Schemes for
Nonlinear Parabolic Equations and Mean Curvature Motion“;
Numer. Math. 75 pp. 17-41; 1996.
G. Aubert, P. Kornprobst; „Mathematical Problems in Image
Processing“; Applied Mathematical Sciences 147; Springer, New
York; 2002.
Foundation