作者 |俊欣

来源 |关于数据分析与可视化

今天来分享几种可以给图片添加水印的方法,都是十分的简单实用,大家在看了之后也可以私底下去自己试试,有些方法需要的代码量就比较少,有些方法需要的代码量就稍微多一些,那我们开始吧

opencv模块

首先我们用opencv这个库来给图片添加水印,主要用到的函数是cv2.putText()方法,里面共有大概9个参数,当然我们并不需要将这个9个参数统统用到,

下面分别为大家来讲述一下cv2.putText()方法中9个参数的含义,介绍如下:

  • image:印有水印的图片

  • text:水印的具体文字

  • org:水印放置的横纵坐标,(x坐标,y坐标)

  • font、fontScale:水印的字体相关的参数

  • color:水印的颜色

  • thinkness、lineType、bottomLeftOrigin:印有水印的图片相关的设置,线条的粗细哇、线条的样式哇等等

下面我们来看一下具体的代码把

img=cv2.imread("test2.jpg") # 导入我们需要添加水印的图片
RGB_img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
blank_img = np.zeros(shape=(RGB_img.shape[0],RGB_img.shape[1],3), dtype=np.uint8)
font = cv2.FONT_HERSHEY_SIMPLEX
# 添加水印的文字内容
cv2.putText(blank_img,text='Learn Python',org=(40, 90),fontFace=font,fontScale= 2,color=(255,0,0),thickness=10,lineType=cv2.LINE_4)

然后我们将印有水印的图片和原图进行结合,代码如下

blended = cv2.addWeighted(src1=RGB_img, alpha=0.7,src2=blank_img, beta=1, gamma = 2)
plt.imshow(blended)

出来的结果是这样

PIL模块

PIL是Python的第三方图像处理库,其中Image模块作为PIL库的基本核心类,可以用来例如加载图像和创建新图像等用途,而说到给在图片上添加水印,要用到的方法就是ImageDraw.Draw.text(),里面有包括6个参数,其中经常被用到的也就下面四个

  • xy:添加水印的坐标,x坐标和y坐标

  • text:具体添加水印的文本内容

  • fill、font:具体文本内容的样式、字体大小等等

下面我们来看一下具体的代码长什么样子

im = Image.open('test1.jpg')
draw = ImageDraw.Draw(im)
text = "Learn Python"
# 设置字体、字体大小等等
font = ImageFont.truetype('arial.ttf', 33)
# 添加水印
draw.text((50, 50), text, font=font)
im.show()
# 保存图片
im.save('watermark2.jpg')

出来的结果是这个样子

filestools模块

最后我们要介绍的则是filestools模块,其本质上也是对ImageDraw.Draw.text()方法做了进一步的封装,让我们用起来会更加的简便,对比前者,我们使用add_mark()方法可以生成数量较多的水印,该方法当中里面有8个参数,其中比较重要的几个是

  • mark:水印的文字内容

  • color、size、opacity、space、angle:水印文字的样式包括文字的大小、颜色、透明程度等等

我们现在来看一下具体的代码

from watermarker.marker import add_mark
add_mark(file = "test1.jpg", out = "add_mark_test1.jpg",mark = "Python", opacity=0.2, angle=30, space=30)

出来的结果长这个样子

具体采用哪种方法,读者可以自己斟酌地来使用,学习愉快!

资讯

AI被当做炒作工具?

资讯

AI 生成的代码可信吗?

资讯

机器人越像人越好?被盯着会怎样?

资讯

AI不可以作为专利认证发明人

分享

点收藏

点点赞

点在看

分享几个用 Python 给图片添加水印的方法,简单实用相关推荐

  1. 【Python】分享几个用Python给图片添加水印的方法,简单实用

    今天来分享几种可以给图片添加水印的方法,都是十分的简单实用,大家在看了之后也可以私底下去自己试试,有些方法需要的代码量就比较少,有些方法需要的代码量就稍微多一些,那我们开始吧 opencv模块 首先我 ...

  2. 太妙了!几个用Python给图片添加水印的方法,简单实用!

    今天来分享几种可以给图片添加水印的方法,都是十分的简单实用,大家在看了之后也可以私底下去自己试试,有些方法需要的代码量就比较少,有些方法需要的代码量就稍微多一些,那我们开始吧 opencv模块 首先我 ...

  3. 用Python给图片添加水印的3种方法,简单实用

    来源:关于数据分析与可视化 今天来分享几种可以给图片添加水印的方法,都是十分的简单实用,大家在看了之后也可以私底下去自己试试,有些方法需要的代码量就比较少,有些方法需要的代码量就稍微多一些,那我们开始 ...

  4. python给图片添加水印图片_使用Python编写批量添加图片水印程序

    文章目录 一.为什么要为图片添加水印 二.利用Python为图片添加水印 遍历文件夹下所有图片文件 三.利用QT for Python制作图片水印添加程序 一.为什么要为图片添加水印 在互联网写文章最 ...

  5. css背景图做水印,css给图片添加水印的方法

    css给图片添加水印的方法 发布时间:2020-10-27 09:55:46 来源:亿速云 阅读:103 作者:小新 这篇文章将为大家详细讲解有关css给图片添加水印的方法,小编觉得挺实用的,因此分享 ...

  6. 不会吧,不会吧,不会还有人不知道Python给图片加水印超级简单哦

    不会吧,不会吧,不会还有人不知道❤️Python给图片加水印❤️超级简单哦 文章目录 不会吧,不会吧,不会还有人不知道❤️Python给图片加水印❤️超级简单哦 介绍 安装模块 进行添加水印的操作 结 ...

  7. Python在照片上添加水印的方法

    Python在照片上添加水印的方法 from PIL import Imagedef watermark_photo(input_image_path,watermark_image_path,out ...

  8. Python实现图片添加水印(支持中文、英文和图片)

    欢迎关注个人公众号 DailyJobOps 阅读大纲 图片水印忽大忽小问题研究 中文水印乱码问题 水印的动态展示 背景 在上次CSDN中发表技术文章的时候,文章中涉及到图片,CSDN会自动上传然后添加 ...

  9. 使用 Python 给图片添加水印,其中一种还是隐形的盲水印呢!

    文章目录 使用 Pillow 库为图片添加半透明水印 使用 blind_watermark 库为图片添加盲水印 安装 嵌入水印 提取水印 如何给图片添加水印呢?在 Python 的世界里,有多种方法可 ...

最新文章

  1. 非线性优化:徒手实现LM算法
  2. python【数据结构与算法】并查集引入
  3. python什么时候进入中国-Python什么时候开始流行的?还能流行多久?
  4. caffe.pb.h丢失问题:
  5. arcgis在线地图插件安装
  6. ios实例开发精品文章推荐(8.5)
  7. spark启动的worker节点是localhost_Spark大数据在线培训:Spark运行原理解析
  8. (二)MR之reduce多目录输出
  9. ELK温度监控--lmsensorsbeat
  10. SylixOS 内存管理源代码分析--vmmMalloc.c
  11. php 生僻字 拼音,php 汉字转拼音 [包含20902个基本汉字+5059生僻字]
  12. ESXI7.0主机安装群晖DS3617xs
  13. Threshold函数详解
  14. 遥感(4):卫星遥感图像处理
  15. 门禁管理系统(Swing/Dos)
  16. linux磁盘检测和修复
  17. oracle导入多个dmp文件到一个用户,Oracle dmp文件导入(还原)到不同的表空间和不同的用户下...
  18. CDS-MVSNet理解
  19. Java中线程是如何实现的
  20. Linux设备之我是usb,linux那些事儿之我是usb

热门文章

  1. java培训学习阶段步骤讲解
  2. 【亲测有效】如何下载和安装Resilio BTSync
  3. 深入解析Angular Component的源码示例
  4. [译] Don’t call me, I’ll call you:使用 Redux-Saga 管理 React 应用中的异步 action (上)...
  5. 基于qml创建最简单的图像处理程序(1)-基于qml创建界面
  6. 第 7 章 项目运作
  7. css :after或:before写小三角形
  8. HDU 1431 素数回文
  9. 在python中调用js或者nodejs要使用PyExecJs第三方包。
  10. 《Redis入门指南(第2版)》一第2章 准备