Image Inpainting is the art of filling in lost portions of an image using background details in a visually plausible way. I came across this topic while searching for projects in the field of image processing for sixth semester. The moment I saw a few sample pictures, I decided that I was gonna work on it.
Here are a few pics of what we achieved in the end using our software:
Source Image for Inpainting Result after performing Inpainting

As is quite clear from these images, a good and fast algorithm for Image Inpainting can be really useful. I worked with Sapan to develop the software. We started with a traditional algorithm but finally ended up making several changes to it in order to improve the results.

Here's a brief decription of the inpainting algorithm.

  1. Divide the marked region into patches.
  2. Assign priorities to the patches (Using Data and Confidence Terms)
  3. Choose patch with maximum priority and find a patch from background region that is most similar to the chosen patch
  4. Replace the patch with the patch from background and update data and confidence values.

This is a very brief overview of the inpainting algorithm. For more details, you may feel free to contact me or go through the research paper that we authored.

For more information about the implementation, visit our project page on Sourceforge. I hope that you would enjoy using it. It is still a very early release and we hope to improve on it soon. Looking forward to your participation on the project as well.

See the software in action in this video.

Stay tuned for my next post. Meanwhile, tell me your suggestions/comments about my work.