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

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)

出来的结果长这个样子

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

送你一张我们星球的优惠券,目前已经有100多人啦,还有3天就过期了!
欢迎来一起玩Python!

推荐阅读:

入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径

干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影

趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!

AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影

小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!|  再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|

年度爆款文案

  • 1).卧槽!Pdf转Word用Python轻松搞定!

  • 2).学Python真香!我用100行代码做了个网站,帮人PS旅行图片,赚个鸡腿吃

  • 3).首播过亿,火爆全网,我分析了《乘风破浪的姐姐》,发现了这些秘密

  • 4).80行代码!用Python做一个哆来A梦分身

  • 5).你必须掌握的20个python代码,短小精悍,用处无穷

  • 6).30个Python奇淫技巧集

  • 7).我总结的80页《菜鸟学Python精选干货.pdf》,都是干货

  • 8).再见Python!我要学Go了!2500字深度分析!

  • 9).发现一个舔狗福利!这个Python爬虫神器太爽了,自动下载妹子图片

太妙了!几个用Python给图片添加水印的方法,简单实用!相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

  7. 获取图片所有像素点 html,python获取图片分辨率的方法

    关于python如何获取网页中所有图片并筛选指定分辨率 17小时36分钟前回答 关于python如何获取网页中所有图片并筛选指定分辨率 压测时,图片太少,想着下载网页中的图片,然后过滤指定分辨率,但网 ...

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

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

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

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

最新文章

  1. 阿里二面:为什么要分库分表?
  2. Python 之vim编写python自动补全
  3. 下列不属于android布局的是( ),Android软件工程师笔试题(全选择题)【0-1年经验】...
  4. ABAP正则表达式 vs SPLIT INTO
  5. java中byte,String,InputStream之间的转换
  6. 《算法》笔记 17 - 数据压缩
  7. 任务平均分配的小算法
  8. Oracle数据库备份dmp文件,使用cmd命令导入导出步骤,以及忘记Oracle密码
  9. Phalanger 【Php on .net】
  10. springboot 整合JWT token验证机制
  11. 【图像去噪】基于matlab高斯+低通+巴特沃斯滤波虹膜图像滤波【含Matlab源码 501期】
  12. halcon学习资料
  13. 嵌入式系统硬件构成-基于ARM的嵌入式开发板介绍
  14. 虹科OPC UA SDK案例:虹科OPC UA SDK助力立功科技ZWS云平台
  15. Linux指令部分(一)
  16. [第一篇] 桌面快捷方式小箭头的取消与恢复
  17. swiper的小bug slideTo方法不触发slideChangeTransitionStart(swiper)
  18. 分组折线图、柱状图实现(多条折线图、柱状图同时显示)实现方式
  19. 公众号如何用微信红包吸粉而不被封号?实战24天10万粉
  20. BS EN 438-4装饰用薄板材压实层压制件的分类和规范

热门文章

  1. C4D快速入门教程——排列复制
  2. JS逆向 | ob混淆一键还原工具
  3. 图论---tarjan
  4. 20181021模拟赛(暴力+暴力+优先队列二分)
  5. QT之model-delegat-model---QAbstractListModel QAbstractTableModel 与 QItemDelegate关系
  6. 眼图观测实验报告_实验2 眼图观察测量实验
  7. 51Nod 1433 0和5
  8. 2022年深圳市光明区防疫科技攻关支持项目申报操作指引
  9. 中职计算机公开课说课稿,校内公开课说课稿
  10. Spring三级缓存详解