1.使用到的API
inpaint(
img, //恢复的图像
mask, // 去除水印的部分 黑底白色 单通道
inpaintRadius, //修复半径:破损位置像素点的修复半径
flags //方法:INPAINT_NS,INPAINT_TELEA
)
2.准备两张图片(一张img,一张mask)
3.代码实现
import cv2
import numpy as np
#读入 img
roi = cv2.imread('roi.jpg')
cv2.imshow("roi",roi)
#读入mask
mask = cv2.imread('watermark.jpg', 0)
mask=cv2.resize(mask,(roi.shape[1],roi.shape[0]))
ret,threshold=cv2.threshold(mask,0,255,cv2.THRESH_BINARY_INV+cv2.THRESH_OTSU)
cv2.imshow("mask",threshold)
#进行 去水印
dst = cv2.inpaint(roi, threshold, 5, cv2.INPAINT_NS)
#最终结果
cv2.imshow('dst', dst)
cv2.waitKey(0)
现象如下图: