Link API Reference .
# -*- coding: utf-8 -*-
import cv2
import numpy as np
#Ipythonで表示用の設定
import matplotlib.pyplot as plt
%matplotlib inline
#画像読込
img = cv2.imread('lena.jpg')
#読み込んだ画像に傷を付ける(ここでは矩形を上書き)
img[120:125,100:400] = 0
#修復領域
mask = np.zeros((img.shape[1], img.shape[0]), dtype='uint8')
mask[120:125,100:400] = 255
#inpaint実行
#INPAINT_NS = 0, Navier-Stokes algorithm NS方程式
#INPAINT_TELEA = 1 A.Telea algorithm
dst = cv2.inpaint(img, mask, 3, cv2.INPAINT_TELEA)
#OpenCVがBGRなのでRGBに変換
disp_dst = cv2.cvtColor(dst, cv2.COLOR_BGR2RGB)
disp_in_img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
#画像表示
plt.figure(figsize=(15,6))
plt.subplot(131)
plt.imshow(disp_in_img)
plt.title("degraded input image")
plt.subplot(132)
plt.imshow(mask,cmap = 'gray')
plt.title("mask image (non-zero:inpainting region)")
plt.subplot(133)
plt.imshow(disp_dst)
plt.title("inpainted image(result image)")