使用python实现图片批量去水印怎样做?
Admin 2021-08-20 群英技术资讯 2436 次浏览
我们需要使用到图片素材的场景很多,但是很多素材都有水印,而一张张去除水印是工作量大。对此,这篇文章小编就给大家分享如何用python实现图片批量去水印的方法,下面我们一起来看看是怎样做的吧。
用Python + OpenCV三步去除水印,去水印需要使用的库:cv2、numpy。cv2是基于OpenCV的图像处理库,可以对图像进行腐蚀,膨胀等操作;numpy这是一个强大的处理矩阵和维度运算的库。
1、标定噪声的特征,使用cv2.inRange二值化标识噪声对图片进行二值化处理,具体代码:cv2.inRange(img, np.array([200, 200, 240]), np.array([255, 255, 255])),把[200, 200, 200]~[255, 255, 255]以外的颜色处理为0;
2、使用OpenCV的dilate方法,扩展特征的区域,优化图片处理效果;
3、使用inpaint方法,把噪声的mask作为参数,推理并修复图片。
1、从源图片,截取右下角部分,另存为新图片;
2、识别水印,颜色值为:[200, 200, 200]~[255, 255, 255]
3、去掉水印,还原图片;
4、把源图片、去掉水印的新图片,进行重叠合并;
实现代码
效果对比
import cv2 import numpy as np from PIL import Image import os dir = os.getcwd() path = "1.jpg" newPath = "new.jpg" img=cv2.imread(path,1) hight,width,depth=img.shape[0:3] #截取 cropped = img[int(hight*0.8):hight, int(width*0.7):width] # 裁剪坐标为[y0:y1, x0:x1] cv2.imwrite(newPath, cropped) imgSY = cv2.imread(newPath,1) #图片二值化处理,把[200,200,200]-[250,250,250]以外的颜色变成0 thresh = cv2.inRange(imgSY,np.array([200,200,200]),np.array([250,250,250])) #创建形状和尺寸的结构元素 kernel = np.ones((3,3),np.uint8) #扩展待修复区域 hi_mask = cv2.dilate(thresh,kernel,iterations=10) specular = cv2.inpaint(imgSY,hi_mask,5,flags=cv2.INPAINT_TELEA) cv2.imwrite(newPath, specular) #覆盖图片 imgSY = Image.open(newPath) img = Image.open(path) img.paste(imgSY, (int(width*0.7),int(hight*0.8),width,hight)) img.save(newPath)
实现效果如下图,这个默认是去掉白色右下角的水印,大家可以根据自己的需求进行更改。

以上就是关于python实现图片批量去水印的介绍,有需要的朋友可以参考,希望本文对大家学习pythonpython有帮助,想要了解更多图片批量去水印的方法,请搜索群英网络以前的文章或继续浏览下面的相关文章。
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了pygame多种方式实现屏保操作(自动切换、鼠标切换、键盘切换),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
回调函数就是一个通过函数指针调用的函数,下面这篇文章主要给大家介绍了关于Python中回调函数(callback)的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
信号的概念信号(signal)--进程之间通讯的方式,是一种软件中断。一个进程一旦接收到信号就会打断原来的程序执行流程来处理信号。几个常用
AdaBoost 是英文 Adaptive Boosting(自适应增强)的缩写,由 Yoav Freund 和Robert Schapire 在1995年提出。
这篇文章主要介绍了关于matplotlib及相关cmap参数的取值方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008