本篇博客主要介绍cv2模块中的图像修补inpaint。
cv2中主要提供了两种进行图像修补的算法:
1、基于快速行进算法 cv2.INPAINT_TELEA。
2、基于流体动力学并使用了偏微分方程 cv2.INPAINT_NS。
代码:
import cv2
img = cv2.imread('../data/messi_2.jpg')
mask = cv2.imread('../data/mask2.png', 0)
cv2.imshow('img', img)
cv2.imshow('mask', mask)
dst = cv2.inpaint(img, mask, 3, cv2.INPAINT_TELEA)
cv2.imshow('1', dst)
dst2 = cv2.inpaint(img, mask, 3, cv2.INPAINT_NS)
cv2.imshow('2', dst2)
cv2.waitKey(0)
cv2.destroyAllWindows()
测试图片:
messi_2.jpg
mask2.jpg
运行结果:
INPAINT_TELEA:
INPAINT_NS: