Inpainting

inpaint

Restores the selected region in an image using the region neighborhood.

C++: void inpaint(InputArray src, InputArray inpaintMask, OutputArray dst, double inpaintRadius, int flags)
Python: cv2.inpaint(src, inpaintMask, inpaintRadius, flags[, dst]) → dst
C: void cvInpaint(const CvArr* src, const CvArr* inpaint_mask, CvArr* dst, double inpaintRange, int flags)
Python: cv.Inpaint(src, mask, dst, inpaintRadius, flags) → None
Parameters:
  • src – Input 8-bit 1-channel or 3-channel image.
  • inpaintMask – Inpainting mask, 8-bit 1-channel image. Non-zero pixels indicate the area that needs to be inpainted.
  • dst – Output image with the same size and type as src .
  • inpaintRadius – Radius of a circular neighborhood of each point inpainted that is considered by the algorithm.
  • flags

    Inpainting method that could be one of the following:

    • INPAINT_NS Navier-Stokes based method.
    • INPAINT_TELEA Method by Alexandru Telea [Telea04].

The function reconstructs the selected image area from the pixel near the area boundary. The function may be used to remove dust and scratches from a scanned photo, or to remove undesirable objects from still images or video. See http://en.wikipedia.org/wiki/Inpainting for more details.