图像批量添加数字水印
首先准备图像文件,然后把该文件中的图像内容作为数字水印批量添加到 某个文件夹中所有图像文件中,要求水印在目标图像文件中的位置随机选择为左上角、右下角或图像中间,并且水印图像的背景在目标图像中设置为透明。
1.首先下载要添加的水印图像,放入指定路径。
2其次下载添加水印的图像,放入指定路径。
3.然后下载好对应的python库。
4.最后运行下面的代码。
最终形成的图片会放入某个路径,应提前定义好。
下载PIL库,在命令行输入 pip install pillow
from PIL import Image
import random
import os
"""
def addwm(imagepath,k):
path1="D:/image/watermark/1.png"
path2="D:/image/img/"+imagepath
path3="D:/image/finish/"
wm=Image.open(path1).convert("RGBA")
img=Image.open(path2).convert("RGBA")
newwm=wm.resize((300,300))
newimg=img.resize((450,500))
width1,height1=newwm.size
width2,height2=newimg.size
position=[(0,0),(width2//2-width1//2,height2//2-height1//2),(width2-width1,height2-height1)]
tuce=Image.new("RGBA",(width2,height2),(0,0,0,0))
tuce.paste(newwm,random.choice(position))
out=Image.composite(tuce,newimg,tuce)
out.save(path3+str(k+1)+".png")
def start():
path="D:/image/img/"
images=os.listdir(path)
withs=[".jpg",".png",".bmp"]
for i in range(len(images)):
hname=os.path.splitext(images[i])[1]
if hname in withs:
addwm(images[i],i)
print("图片"+images[i]+"添加水印成功")
if __name__=="__main__":
start()
"""
def addwm(imagepath,k):
path1="D:/image/watermark/3.jpg"
path2="D:/image/img/"