图像批量添加数字水印

首先准备图像文件,然后把该文件中的图像内容作为数字水印批量添加到 某个文件夹中所有图像文件中,要求水印在目标图像文件中的位置随机选择为左上角、右下角或图像中间,并且水印图像的背景在目标图像中设置为透明。
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/"+imagepathpath3="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.sizewidth2,height2=newimg.sizeposition=[(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/"+imagepathpath3="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.sizewidth2,height2=newimg.sizefor i in range(width1):for j in range(height1):rgba=newwm.getpixel((i,j))newrgba=rgba[:-1]+(100,)newwm.putpixel((i,j),newrgba)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()

图像批量添加数字水印相关推荐

  1. 【python与数据分析】实验八——图像批量添加数字水印及实现模拟转盘抽奖游戏

    一.实验目的 1.理解空域添加数字水印的原理: 2.熟悉安装扩展库pillow; 3.熟悉扩展库pillow操作图像方法; 4.熟悉运用字典结构. 5.初用numpy实现模拟转盘抽奖游戏 二.实验内容 ...

  2. Python实现批量图片添加数字水印

    之前写过一个类似的代码,是把水印信息打散以后随机添加到原图中,并提供了水印信息的提取功能,请参考Python实现图像空域随机水印加入与提取.本文代码功能:为指定文件夹中的所有图像文件批量添加水印,水印 ...

  3. python批量添加水印_Python实现批量图片添加数字水印

    之前写过一个类似的代码,是把水印信息打散以后随机添加到原图中,并提供了水印信息的提取功能,请参考Python实现图像空域随机水印加入与提取.本文代码功能:为指定文件夹中的所有图像文件批量添加水印,水印 ...

  4. python数字水印_Python实现批量图片添加数字水印

    之前写过一个类似的代码,是把水印信息打散以后随机添加到原图中,并提供了水印信息的提取功能,请参考:Python实现图像空域随机水印加入与提取.本文代码功能:为指定文件夹中的所有图像文件批量添加水印,水 ...

  5. opencv论坛_Opencv批量添加logo的解决方案

    知乎的水印是如何批量添加的?您想拥有这个本领吗? 我在opencv论坛发现了这个趣图添加logo的方法,也许您正需要这个代码,那我就诚心分享下吧. 如何删除结果图像中mainlogo.png周围的黑色 ...

  6. 使用Photoshop给Premiere批量添加对白字幕听语音 |浏览:25974|更新:2013-12-23 23:18|标签:photoshop premiere 使用Photoshop给Pre

    使用Photoshop给Premiere批量添加对白字幕 听语音 | 浏览:25974 | 更新:2013-12-23 23:18 | 标签:photoshop premiere 1 2 3 4 5 ...

  7. python 批量增加文件前缀_linux中批量添加文件前缀的操作方法

    linux中批量添加文件前缀的操作方法 需要在文件夹内所有txt文件的文件名前面添加"gt_"; 就是由原来的文件"xxx.txt"变成"gt_xxx ...

  8. 【OpenCV 例程 300篇】219. 添加数字水印(盲水印)

    OpenCV 例程200篇 总目录 [youcans 的 OpenCV 例程 300篇]219. 添加数字水印(盲水印) 8.2 添加数字盲水印 数字水印,是指将特征信息嵌入音频.图像或是视频等数字信 ...

  9. 如何给图片批量添加专属水印

    现在越来越多的人喜欢在社交平台分享自己的照片,为了防止我们所发的照片被他人盗用,我们可以给照片添加上专属的水印.那么问题又来了,如果需要给大量图片添加统一的专属水印,也就是批量添加,否则一张一张图片添 ...

最新文章

  1. 刷新视频超分新记录28.41dB!一种全局视频超分方案OVSR
  2. 4G EPS 的架构模型
  3. 版本控制集中式与分布式的区别
  4. 主体ubuntu16.04,宿体virtualbox下的windows7的共享文件夹设置
  5. 不要笑!写 | 还是 || ,还真是一个问题
  6. 必读的10篇关于GAN的论文
  7. 服务器磁盘操作系统双机软件集成,实战:ROSE HA双机热备系统安装指南
  8. (王道408考研操作系统)第五章输入/输出(I/O)管理-第一节1:I/O设备的概念和分类
  9. 16. OD-破解序列号验证机算法
  10. CLR via C# 内存管理读书记
  11. 13分钟,教你python可视化分析20W数据,找到妹子最爱的内衣
  12. Google AI “作恶”,4000 员工抗议,十余人失望辞职!
  13. Screen Space Fluid Rendering for Games(nv gdc2010)
  14. 2012安装oracle11g教程,Windows Server 2012 安装oracle11g(图文教程)
  15. Windows 80端口被System进程占用的解决
  16. 360云盘账号停止服务器,360云盘服务器终止为什么
  17. Visual Leak Detector使用方法
  18. linux下配置dnx地址,Linux上编译DNX失败
  19. The package javax.swing is not accessible(java GUI 编程时引用swing包和awt包时会报错怎么办)
  20. List的toArray()方法和toArray(T[] a)方法

热门文章

  1. html js满屏飘雪特效,JS实现炫酷雪花飘落效果
  2. c 语言 函数 公开课教案6,小班语言公开课教案范文(精选6篇)
  3. julia调用slurm进行多节点运行
  4. gitLab ssh密匙配置
  5. 沉降变形观测方案(转载)
  6. 废品回收小程序开发的功能
  7. springmvc的PathVariableMethodArgumentResolver解析_晏无心_新浪博客
  8. nginx开启gzip
  9. 儿童写作业的台灯怎么选择?2023给孩子买台灯最新推荐一下
  10. linux图形界面总结---X、Xorg、WM、QT、GTK、KDE、GNOME的区别与联系