1.使用到的API

inpaint(
        img,  //恢复的图像
        mask,    // 去除水印的部分  黑底白色 单通道
        inpaintRadius,   //修复半径:破损位置像素点的修复半径
        flags               //方法:INPAINT_NS,INPAINT_TELEA
)

2.准备两张图片(一张img,一张mask)

3.代码实现

opencv
OpenCV: 开源计算机视觉库
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)

  现象如下图:

        

推荐内容
阅读全文
AI总结
GitHub 加速计划 / opencv31 / opencv
187
14
下载
OpenCV: 开源计算机视觉库
最近提交(Master分支:7 个月前 )
0b315598 Added reinterpret() method to Mat to convert meta-data without actual data conversion 1 天前
d49dee83 videoio: fixed V4L frame size for non-BGR output 2 天前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐