OpenCV去除水印

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)

  现象如下图:

        

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值