Python OpenCV去水印教程

发表时间:2019-12-19

脚本运行效果对比:

原图:

yuan.jpg

水印图(用PS很简单就能把水印扣出来了):

di.jpg

Python去水印之后的效果:

result1.jpg


由于图像的分辨率比较低,所以我自己水印抠出来的效果不是太好,导致去水印的结果其实并不是非常理想。

如果是分辨率高的图像,抠出来的水印十分规整,效果就会好很多。


完整脚本:

import cv2

def get_water():
# 黑底白字
src = cv2.imread('yuan.jpg') # 默认的彩色图(IMREAD_COLOR)方式读入原始图像
# black.jpg
mask = cv2.imread('di.jpg', cv2.IMREAD_GRAYSCALE) # 灰度图(IMREAD_GRAYSCALE)方式读入水印蒙版图像
# 参数:目标修复图像; 蒙版图(定位修复区域); 选取邻域半径; 修复算法(包括INPAINT_TELEA/INPAINT_NS, 前者算法效果较好)
dst = cv2.inpaint(src, mask, 3, cv2.INPAINT_NS)

cv2.imwrite('result1.jpg', dst)

get_water()

如果对效果要求没有那么苛刻的话,这个脚本的实用性还是很高的,改一改可以批量去除水印。

最后效果如何,就看PS抠出来的水印图咋样了,水印图要和需要处理的图像分辨率大小一样。


Python Free

邮箱:417803890@qq.com
QQ:417803890

皖ICP备19001818号
© 2019 copyright www.pythonf.cn - All rights reserved

微信扫一扫关注公众号:

联系方式

Python Free