Docs for 0.14.2
All versions

# Inpainting¶

Inpainting [1] is the process of reconstructing lost or deteriorated parts of images and videos.

The reconstruction is supposed to be performed in fully automatic way by exploiting the information presented in non-damaged regions.

In this example, we show how the masked pixels get inpainted by inpainting algorithm based on ‘biharmonic equation’-assumption [2] [3] [4].

 [1] Wikipedia. Inpainting https://en.wikipedia.org/wiki/Inpainting
 [2] Wikipedia. Biharmonic equation https://en.wikipedia.org/wiki/Biharmonic_equation
 [3] N.S.Hoang, S.B.Damelin, “On surface completion and image inpainting by biharmonic functions: numerical aspects”, https://arxiv.org/abs/1707.06567
 [4] C. K. Chui and H. N. Mhaskar, MRA Contextual-Recovery Extension of Smooth Functions on Manifolds, Appl. and Comp. Harmonic Anal., 28 (2010), 104-113, DOI: 10.1016/j.acha.2009.04.004
import numpy as np
import matplotlib.pyplot as plt

from skimage import data
from skimage.restoration import inpaint

image_orig = data.astronaut()[0:200, 0:200]

# Create mask with three defect regions: left, middle, right respectively

# Defect image over the same region in each color channel
image_defect = image_orig.copy()
for layer in range(image_defect.shape[-1]):

multichannel=True)

fig, axes = plt.subplots(ncols=2, nrows=2)
ax = axes.ravel()

ax[0].set_title('Original image')
ax[0].imshow(image_orig)

ax[2].set_title('Defected image')
ax[2].imshow(image_defect)

ax[3].set_title('Inpainted image')
ax[3].imshow(image_result)

for a in ax:
a.axis('off')

fig.tight_layout()
plt.show()


Total running time of the script: ( 0 minutes 2.758 seconds)

Gallery generated by Sphinx-Gallery