Inpaint node¶
This documentation is for version 1.0 of Inpaint (eu.cimg.Inpaint).
Description¶
Inpaint (a.k.a. content-aware fill) the areas indicated by the Mask input using patch-based inpainting.
Be aware that this filter may produce different results on each frame of a video, even if there is little change in the video content. To inpaint areas with lots of details, it may be better to inpaint on a single frame and paste the inpainted area on other frames (if a transform is also required to match the other frames, it may be computed by tracking).
A tutorial on using this filter can be found at http://blog.patdavid.net/2014/02/getting-around-in-gimp-gmic-inpainting.html
The algorithm is described in the two following publications:
“A Smarter Examplar-based Inpainting Algorithm using Local and Global Heuristics for more Geometric Coherence.” (M. Daisy, P. Buyssens, D. Tschumperlé, O. Lezoray). IEEE International Conference on Image Processing (ICIP’14), Paris/France, Oct. 2014
and
“A Fast Spatial Patch Blending Algorithm for Artefact Reduction in Pattern-based Image Inpainting.” (M. Daisy, D. Tschumperlé, O. Lezoray). SIGGRAPH Asia 2013 Technical Briefs, Hong-Kong, November 2013.
Uses the ‘inpaint’ plugin from the CImg library.
CImg is a free, open-source library distributed under the CeCILL-C (close to the GNU LGPL) or CeCILL (compatible with the GNU GPL) licenses. It can be used in commercial applications (see http://cimg.eu). The ‘inpaint’ CImg plugin is distributed under the CeCILL (compatible with the GNU GPL) license.
Inputs¶
Input | Description | Optional |
---|---|---|
Source | No | |
Mask | Yes |
Controls¶
Parameter / script name | Type | Default | Function |
---|---|---|---|
Patch Size / patchSize |
Integer | 7 | |
Lookup Size / lookupSize |
Double | 16 | |
Lookup Factor / lookupFactor |
Double | 0.1 | |
Blend Size / blendSize |
Double | 1.2 | |
Blend Threshold / blendThreshold |
Double | 0 | |
Blend Decay / blendDecay |
Double | 0.05 | |
Blend Scales / blendScales |
Integer | 10 | |
Allow Outer Blending / isBlendOuter |
Boolean | On | |
(Un)premult / premult |
Boolean | Off | Divide the image by the alpha channel before processing, and re-multiply it afterwards. Use if the input images are premultiplied. |
Invert Mask / maskInvert |
Boolean | Off | When checked, the effect is fully applied where the mask is 0. |
Mix / mix |
Double | 1 | Mix factor between the original and the transformed image. |