From Avisynth wiki
Jump to: navigation, search
Author Fizick
Version v0.2.0.0
Download ExInpaint_x86_x64.7z
Category Logo removal
License GPLv2
Discussion Doom9 Forum


[edit] Description

Exemplar-Based Image Inpainting - removing large objects from images.

Selected objects has been replaced by a visually plausible background that mimics the appearance of the source region. Unlike other inpainting tools (logo removers), this filter does not blur image "holes". It tries to replace holes by similar texture elements (patches, exemplars, blocks) from frame image area, taking into account the image special points (with estimated confidence and priority). Block inpainting is started at hole border and propagates to its internal area, with isophote as a direction.

Algorithm is based on article: Object Removal by Exemplar-Based Inpainting. A. Criminisi, P. Perez, K. Toyama. In Proc. Conf. Comp. Vision Pattern Rec., Madison, WI, Jun 2003.

[edit] Requirements

[edit] Syntax and Parameters

ExInpaint (clip, clip "mask", int "color", int "dilate" int "xsize", int "ysize", int "radius", int "steps")

clip   =
Input clip. If mask clip is omitted and source clip is RGB32 then its alpha channel is used as a mask with threshold = 127 (all pixels with correspondent alpha 128-255 will be inpainted).
In other cases, the mask is taken from mask clip and processed differently.

clip  mask =
Clip with mask. Must be same format and size as source clip.

int  color = $FFFFFF
color of mask in mask clip (if used). Pixels with this color ONLY will be considered as a mask. (default = $FFFFFF as pure white for RGB). Note: for YUV color space the color value is in YUV (like color_yuv in ColorYUV filter).

int  dilate = 0
(Experimental) flags of mask dilation.
  • 0 : do not dilate (default)
  • 1 : horizontal dilate,
  • 2 : vertical dilate
  • 3 : all directions dilate

int  xsize = 8
int  ysize = 8
Horizontal and vertical patch (block) size to search and inpaint. Patch should be slightly larger than the largest distinguishable texture element.

int  radius = 0
Search radius for similar block. Should be greater than doubled patch size and greater than maximal hole radius. The greater, the slower. Set to 0 for auto-estimated value (default).

int  steps = 100000
Limit number of inpainting steps for debug (default=100000, almost not limited).

[edit] Example


[edit] External Links

Back to External Filters

Personal tools