python cv2去水印(百度百科)
原理是:用2张图片进行对比
需要注意 我这个ddd.jpg是自己非专业P的图,正常应该是都是黑的背景然后logo和原图一样大小,2张图片需要一样的像素长宽
import cv2
'''
两个图片对比
去水印
'''
def get_water():
# 黑底白字
src = cv2.imread('yuan111.jpg') # 默认的彩色图(IMREAD_COLOR)方式读入原始图像
# black.jpg
mask = cv2.imread('ddd.jpg', cv2.IMREAD_GRAYSCALE) # 灰度图(IMREAD_GRAYSCALE)方式读入水印蒙版图像
# 参数:目标修复图像; 蒙版图(定位修复区域); 选取邻域半径; 修复算法(包括INPAINT_TELEA/INPAINT_NS, 前者算法效果较好)
dst = cv2.inpaint(src, mask, 3, cv2.INPAINT_NS)
cv2.imwrite('result111.jpg', dst)
get_water()
最近找到了一个更好的方法专门针对去除百度水印的
方法如下
import requests
# 去除?后面的参数为无水印图片地址
url = "https://bkimg.cdn.bcebos.com/pic/43a7d933c895d143509c3b8377f082025baf07ac"
# 带有水印的图片地址
# url = "https://bkimg.cdn.bcebos.com/pic/43a7d933c895d143509c3b8377f082025baf07ac?x-bce-process=image/watermark,image_d2F0ZXIvYmFpa2U5Mg==,g_7,xp_5,yp_5"
response = requests.request("GET", url)
# print(response.text)
content = response.content
with open(f'43a7d933c895d143509c3b8377f082025baf07ac,jpg', 'wb',) as f:
f.write(content)
f.close()
print('写入完毕')
推荐阅读
Python3.10新特性之match语句
在Python 3.10发布之前,Python是没有类似于其他语言中switch语句的,要实现类似的功能最简单的方法就是通过if ... elif ... else ...语句,但是这样毕竟不够优雅,不够“Pythonic”更推荐的做法是通过字典(dict)实...
瑞0908赞 1阅读 332
jumpserver api创建资产
jumpserver apidomain+/api/docspython {代码...} GO {代码...}
台湾省委书记阅读 637
基于OpenCV的人脸、视频、文字检测以及识别的项目(一 项目准备)
numpy是一个定义了数值数组和矩阵类型和它们的基本运算的语言扩展,OpenCV引用了numpy模块,所以安装OpenCV之前必须安装numpy。numpy:第一步:先去网站下载对应的numpy版本,这个numpy要对应你的python版本号 下...
胡子老爷爷阅读 530
人工智能AI聊天ChatGPT新接口模型gpt-3.5-turbo闪电更新,成本降90%,Python3.10接入
北国春迟,春寒料峭略带阴霾,但ChatGPT新接口模型gpt-3.5-turbo的更新为我们带来了一丝暖意,使用成本更加亲民,比高端产品ChatGPT Plus更实惠也更方便,毕竟ChatGPT Plus依然是通过网页端来输出,Api接口是以to...
刘悦的技术博客阅读 447
影片自由,丝滑流畅,Docker容器基于WebDav协议通过Alist挂载(百度网盘/阿里云盘)Python3.10接入
使用过NAS(Network Attached Storage)的朋友都知道,它可以通过局域网将本地硬盘转换为局域网内的“网盘”,简单理解就是搭建自己的“私有云”,但是硬件和网络成本都太高了,有点可望而不可及的意思。Alist开源库则...
刘悦的技术博客阅读 446
如何创建一个超时后不会被kill的python子进程
在subprocess之前,创建一个新进程的方式有很多种,如os.system()、os.spawn*方法等。为了统一创建进程的方式,python社区提议使用subprocess模块作为创建进程的标准方式,用来替换os.system和os.spawn*等方式。
namedlock阅读 360
python 获取Azure 下的虚拟机列表
事实上,微软Azure并没有一个所谓的“API访问凭证”的概念,我们需要通过它的“Active Directory”中的应用程序Client信息来进行API的访问。而且相较其它云厂商而言,微软Azure的API访问凭证略显复杂,且需要通过多个...
台湾省委书记阅读 309
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。