inpainting_mcf — Perform an inpainting by smoothing of level lines.
inpainting_mcf(Image, 区域 : InpaintedImage : Sigma, Theta, Iterations : )
该算子 inpainting_mcf extends the image edges that
adjoin the region 区域 of the input image Image
into the interior of 区域 and connects their ends by
smoothing the level lines of the gray value function of
Image.
This happens through the application of the mean curvature flow or
intrinsic heat equation
on the gray value function u defined in the region 区域
by the input image Image at a time . The discretized equation is solved in Iterations
time steps of length Theta, so that the output image
InpaintedImage contains the gray value function at the time
Iterations * Theta .
A stationary state of the mean curvature flow equation, which is
also the basis of 该算子 mean_curvature_flow, has the
special property that the level lines of u all have the curvature
0. This means that after sufficiently many iterations there
are only straight edges left inside the computation area of the
output image InpaintedImage. By this, the structure of
objects inside of 区域 can be simplified, while the
remaining edges are continuously connected to those of the
surrounding image matrix. This allows for a removal of image errors
and unwanted objects in the input image, a so called image
inpainting, which is only weakly visible to a human beholder since
there remain no obvious artifacts or smudges.
To detect the image direction more robustly, in particular on noisy
input data, an additional isotropic smoothing step can precede the
computation of the gray value gradients. The parameter
Sigma determines the magnitude of the smoothing by means of
the standard deviation of a corresponding Gaussian convolution
kernel, as used in 该算子 isotropic_diffusion for
isotropic image smoothing.
Note that filter operators may return unexpected results if an image with a reduced domain is used as input. Please refer to the chapter 过滤器.
Image (input_object) (multichannel-)image(-array) → object (byte / uint2 / real)
Input image.
区域 (input_object) region → object
Inpainting region.
InpaintedImage (output_object) image(-array) → object (byte / uint2 / real)
Output image.
Sigma (input_control) real → (real)
Smoothing for derivative operator.
Default: 0.5
Suggested values: 0.0, 0.1, 0.5, 1.0
Restriction:
Sigma >= 0
Theta (input_control) real → (real)
Time step.
Default: 0.5
Suggested values: 0.1, 0.2, 0.3, 0.4, 0.5
Restriction:
0 < Theta <= 0.5
Iterations (input_control) integer → (integer)
Number of iterations.
Default: 10
Suggested values: 1, 5, 10, 20, 50, 100, 500
Restriction:
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