用python给照片添加水印的三种方式

简介: 这篇文章介绍了使用Python给照片添加水印的三种方式:通过PIL库直接添加文本水印、使用OpenCV库结合图像处理功能添加水印,以及使用filestools库进行更为简便的水印添加。

方式1:PIL模块

给照片添加水印的代码多种多样,下面这种的或许是最为简单的形式,

from PIL import Image
from PIL import ImageFont
from PIL import ImageDraw

def watermark_Image(img_path,output_path, text, pos):
    img = Image.open(img_path)
    drawing = ImageDraw.Draw(img)
    black = (10, 5, 12)
    drawing.text(pos, text, fill=black)
    img.show()
    img.save(output_path)

img = '2.png'
watermark_Image(img, 'watermarked_2.jpg','Python', pos=(10, 10))

方式2:用opencv模块

用opencv来给图片添加水印,主要用到的是cv2.putText()方法,里面共有大概9个参数,介绍如下:

  • image:印有水印的图片
  • text:水印的具体文字
  • org:水印放置的横纵坐标,(x坐标,y坐标)
  • fontfontScale:水印的字体相关的参数
  • color:水印的颜色
  • thinknesslineTypebottomLeftOrigin:印有水印的图片相关的设置,线条的粗细哇、线条的样式哇等等

代码如下:

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)

方式三: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)
相关文章
|
7月前
|
数据安全/隐私保护 Python
Python3给图片添加水印
Python3给图片添加水印
100 1
|
2月前
|
机器学习/深度学习 编解码 Python
python将照片集变成视频
`shigen`是一位坚持更新文章的博客作者,记录成长历程,分享认知见解,留住生活感动。他利用Python库`Pillow`和`MoviePy`开发了一个工具,能够批量处理照片并生成高质量视频。该工具支持多种分辨率、自定义播放时间和照片方向,并能自动调整照片比例以实现居中对齐。通过简单的代码实现了照片视频化的需求,适合强迫症患者使用。**与shigen一起,每天不一样!**个人IP:shigen。
52 9
python将照片集变成视频
|
2月前
|
Python
用 Python 读取照片的 Exif 信息(顺便说说本人的一些想法)
用 Python 读取照片的 Exif 信息(顺便说说本人的一些想法)
97 2
|
7月前
|
数据安全/隐私保护 计算机视觉 Python
如何使用Python给图片添加水印
如何使用Python给图片添加水印
137 0
|
计算机视觉 Python
利用摄像头拍照并保存照片的程序(python实现,含UI界面)
利用摄像头拍照并保存照片的程序(python实现,含UI界面)
506 0
|
数据安全/隐私保护 Python
Python3,2段代码,给pdf文件添加水印,原来watermark还可以这么玩。
Python3,2段代码,给pdf文件添加水印,原来watermark还可以这么玩。
34756 1
Python3,2段代码,给pdf文件添加水印,原来watermark还可以这么玩。
|
Python
Python3,10行代码,我把情书写在她的照片里,她被我的才华征服了。
Python3,10行代码,我把情书写在她的照片里,她被我的才华征服了。
72 1
|
Python
Python3,区区5行代码,让黑白老照片变成华丽的彩色照,被吸粉了。
Python3,区区5行代码,让黑白老照片变成华丽的彩色照,被吸粉了。
84 0
|
XML 数据格式 Python
Python3,19行代码,我把她的照片写入到Excel中,2022年伊始,她终于被我感动了。
Python3,19行代码,我把她的照片写入到Excel中,2022年伊始,她终于被我感动了。
59 0
|
开发工具 Python
为了追学姐,用python把她的照片做成了拼图游戏,她看了...
为了追学姐,用python把她的照片做成了拼图游戏,她看了...
154 0