inpainting_mcf
— Inpainting eines Bildbereiches durch Glättung der Höhenlinien.
inpainting_mcf(Image, Region : InpaintedImage : Sigma, Theta, Iterations : )
Der Operator inpainting_mcf
setzt die an die Bildregion
Region
des Eingabebildes Image
angrenzenden
Bildkanten in Region
hinein fort und verbindet sie durch
Glättung der Niveaulinien der Grauwertfunktion von Image
miteinander.
Dies geschieht durch Anwendung der Krümmungsfluss- oder
intrinsischen Wärmeleitungsgleichung
auf die durch das Eingabebild Image
zu einem Zeitpunkt
definierte Grauwertfunktion u in der
Region Region
. Die diskretisierte Gleichung wird in
Iterations
Zeitschritten der Länge Theta
gelöst,
so dass das Ausgabebild InpaintedImage
die Grauwertfunktion
zur Zeit enthält.
Ein stationärer Zustand der Krümmungsflussgleichung, die auch die
Grundlage des Operators mean_curvature_flow
bildet, zeichnet
sich dadurch aus, dass alle Niveaulinien von u die Krümmung
0 besitzen. Dies bedeutet, dass nach hinreichend vielen
Iterationsschritten im Rechengebiet des Ergebnisbildes
InpaintedImage
nur noch gerade Kanten enthalten sind.
Dadurch kann die Struktur der Objekte innerhalb von Region
vereinfacht werden, wobei die verbleibenden Kanten stetig an die
Kanten der umgebenden Bildmatrix anschließen. So wird eine
Entfernung von Fehlstellen oder Störobjekten im Eingabebild, ein
sogenanntes Inpainting, erreicht, ohne dass dies für einen
menschlichen Beobachter deutlich in Erscheinung tritt, da keine
auffälligen Artefakte oder Schmiereffekte zurückbleiben.
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.
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.
Region
(input_object) region →
object
Inpaintingregion.
InpaintedImage
(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
harmonic_interpolation
,
inpainting_ct
,
inpainting_aniso
,
inpainting_ced
,
inpainting_texture
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