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

太妙了!几个用Python给图片添加水印的方法,简单实用!_第1张图片

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

a121425dc46f5bdd3d0166b213224114.png

opencv模块

0ccc17d5e9f6ea23728e9372ab0061f5.png

首先我们用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)

出来的结果是这样

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

2984dd6b663af7df04649fa2073a3dfa.png

PIL模块

a9b026775715b5b5284f699d019218e9.png

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')

出来的结果是这个样子

太妙了!几个用Python给图片添加水印的方法,简单实用!_第3张图片

ae8f5773d7c29ede5a259a2759db6368.png

filestools模块

1de517280b1d9a85b3c21b2e23f56794.png

最后我们要介绍的则是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)

出来的结果长这个样子

太妙了!几个用Python给图片添加水印的方法,简单实用!_第4张图片

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

 
   
 
   

37d086831eed878a7a665d314e65f514.gif

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

太妙了!几个用Python给图片添加水印的方法,简单实用!_第5张图片

推荐阅读:

入门: 最全的零基础学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,机器学习,opencv,人工智能,数据分析)