Skip to content
PatchMatch based image inpainting for C++ and Python.
C++ Python Makefile C Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
csrc [master] add cpp and python examples Jan 10, 2020
examples [master] add examples Jan 10, 2020
LICENSE [master] merge license Jan 10, 2020
Makefile [master] add cpp and python examples Jan 10, 2020 [master] add readme Jan 10, 2020 [master] auto travis Jan 10, 2020 [master] auto travis Jan 10, 2020

PatchMatch based Inpainting

This library implements the PatchMatch based inpainting algorithm. It provides both C++ and Python interfaces. This implementation is heavily based on the implementation by Younesse ANDAM: (younesse-cv/PatchMatch)[], with some bugs fix.


You need to first install OpenCV to compile the C++ libraries. Then, run make to compile the shared library

For Python users (example available at examples/

import patch_match

image = ...  # either a numpy ndarray or a PIL Image object.
mask = ...   # either a numpy ndarray or a PIL Image object.
result = patch_match.inpaint(image, mask, patch_size=5)

For C++ users (examples available at examples/cpp_example.cpp)

#include "inpaint.h"

int main() {
    cv::Mat image = ...
    cv::Mat mask = ...

    cv::Mat result = Inpainting(image, mask, 5).run();

    return 0;


@Author: Younesse ANDAM


Description: This project is a personal implementation of an algorithm called PATCHMATCH that restores missing areas in an image. The algorithm is presented in the following paper PatchMatch A Randomized Correspondence Algorithm for Structural Image Editing by C.Barnes,E.Shechtman,A.Finkelstein and Dan B.Goldman ACM Transactions on Graphics (Proc. SIGGRAPH), vol.28, aug-2009

For more information please refer to

Copyright (c) 2010-2011


To run the project you need to install Opencv library and link it to your project. Opencv can be download it here

You can’t perform that action at this time.