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
  • 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 for more details.


  • An example using the inpainting technique can be found at opencv_source_code/samples/cpp/inpaint.cpp
  • (Python) An example using the inpainting technique can be found at opencv_source_code/samples/python2/

Table Of Contents

Previous topic

photo. Computational Photography

Next topic


This Page