Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python实现批量图片添加数字水印

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

作者头像
Python小屋屋主
发布于 2018-04-16 07:38:33
发布于 2018-04-16 07:38:33
2.3K0
举报
文章被收录于专栏:Python小屋Python小屋

之前写过一个类似的代码,是把水印信息打散以后随机添加到原图中,并提供了水印信息的提取功能,请参考:Python实现图像空域随机水印加入与提取。本文代码功能:为指定文件夹中的所有图像文件批量添加水印,水印位置在左上角、中间、右下角这三个位置中随机选择。

from random import randint

from os import listdir

from PIL import Image

#打开并读取其中的水印像素,也就是不是白色背景的像素

#读到内存中,放到字典中以供快速访问

im = Image.open('watermark.bmp')

width, height = im.size

pixels = dict()

for w in range(width):

for h in range(height):

c = im.getpixel((w,h))[:3]

if c!=(255, 255, 255):

pixels[(w, h)] = c

def addWaterMark(srcDir):

#获取当前所有BMP图像文件列表

picFiles = [fn for fn in listdir(srcDir) if fn.endswith(('.bmp', '.jpg', '.png'))]

#遍历所有文件,为每个图像添加水印

for fn in picFiles:

im1 = Image.open(fn)

w, h = im1.size

#如果图片尺寸小于水印图片,不加水印

if w<width or h<height:

continue

#在原始图像左上角、中间或右下角添加数字水印

#具体位置根据position进行随机选择

p = {0:(0,0), 1:((w-width)//2, (h-height)//2), 2:(w-width, h-height)}

position = randint(0,2)

top, left = p.get(position, (0,0))

#修改像素值,添加水印

for p, c in pixels.items():

im1.putpixel((p[0]+top, p[1]+left), c)

#保存加入水印之后的新图像文件

im1.save(fn[:-4] + '_new' + fn[-4:])

#为当前文件夹中的图像文件添加水印

addWaterMark('.')

其中一张效果图:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2016-10-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
CodeBuddy实现图片水印添加工具
如今,电商平台竞争激烈,辛苦拍摄的商品图极易被同行盗用。使用在线水印工具上传图片时,存在数据泄露风险,且第三方服务器存储的图片也可能被不法分子获取,导致商品图被盗用,辛苦打造的商品形象和销量被他人不劳而获。
Undoom
2025/05/26
820
CodeBuddy实现图片水印添加工具
CodeBuddy实现图片水印添加工具
如今,电商平台竞争激烈,辛苦拍摄的商品图极易被同行盗用。使用在线水印工具上传图片时,存在数据泄露风险,且第三方服务器存储的图片也可能被不法分子获取,导致商品图被盗用,辛苦打造的商品形象和销量被他人不劳而获。
Undoom
2025/05/24
1030
Python使用空域融合技术进行图像去噪
本文要点在于Python内置函数和扩展库pillow的用法。图像空域融合的主要思路是:把所有含有随机噪点的临时图像中对应位置像素值的平均值作为最终像素值,生成结果图像,这样可以很大程度上消除随机噪点。 from random import randint from PIL import Image #根据原始24位色BMP图像文件,生成指定数量含有随机噪点的临时图像 def addNoise(fileName, num): #这里假设原始图像为BMP文件 if not fileName.endswith
Python小屋屋主
2018/04/16
1.5K0
Python使用空域融合技术进行图像去噪
PIL如何批量给图片添加文字水印?
虫无涯
2023/11/21
6080
Python实现图像空域随机水印加入与提取
本文要点在于Python扩展库pillow中Image类的运用。图像空域随机水印的主要思路在于:在原始图像中随机选取一些位置替换为水印图片中的非背景像素,同时生成日志文件记录替换的位置和水印中像素位置的对应关系,然后可以根据加入水印的图片和日志文件来提取和验证水印。 from os import remove from os.path import isfile from random import sample, choice from PIL import Image def mergeWaterMa
Python小屋屋主
2018/04/16
2.1K0
Python实现图像空域随机水印加入与提取
使用 FFmpeg 添加水印的详细指南
在多媒体处理领域,给视频添加水印是一项常见而重要的任务。水印不仅可以用于保护版权,还能提升品牌识别度。FFmpeg 是一个强大的开源工具,支持视频和音频的处理、转换、编辑等操作。本文将详细介绍如何使用 FFmpeg 为视频添加水印,包括基本操作、不同类型的水印、位置调整、高级效果等,内容将易于理解,适合初学者。
繁依Fanyi
2024/09/23
9630
图像直方图原理与Python实现
图像灰度直方图用来统计0到255的各灰度值在图像中的出现频次,也就是有多少个像素的值为0,多少个像素的值为1,等等。对于彩色图像,直方图为红、绿、蓝各分量的统计结果。 from os.path import isfile from PIL import Image def his(imageFile): #确保参数为图像文件 assert isfile(imageFile) and imageFile.endswith(('.bmp', '.jpg', '.png')), 'Must be image
Python小屋屋主
2018/04/16
7660
OpenCV-Python实战(1) —— 给图片添加图片水印【利用 OpenCV 像素的读写原理实现】
1. 需求分析 使用 OpenCV 图像像素读写操作原理,也就是 image[row][col] 获取和设值; 给图片添加水印:对应添加水印的位置,设置为水印图片的像素; 水印下能看到原图,也就是说水印必须是透明图片; 同时将水印透明位置像素(0,0,0)改变为同位置的图片的像素。 2. 直接将水印添加到图片 2.1 代码逻辑分析 读取水印logo图片; 读取需要添加水印的图片; 获取水印的宽高; 注意:此处水印使用的三通道读取,因此获取水印属性时需要加通道值。 利用图像像素读取设值原理,直接修改对应像素
Rattenking
2022/10/24
1.9K0
OpenCV-Python实战(1) —— 给图片添加图片水印【利用 OpenCV 像素的读写原理实现】
python-PS图片
from PIL import ImageColor # pip install pillow # http://pillow-zh-cn.readthedocs.io/zh_CN/latest/installation.html ImageColor.getcolor('red', 'RGB') (255, 0, 0) ImageColor.getcolor('red', 'RGBA') # A 透明度,png图片 (255, 0, 0, 255) # 切换到工作目录,有图片文件的地方 %cd D:\py
py3study
2020/01/08
6300
大神级Python工程师是怎么P图的,带你用Python玩转P图
1.PIL:Python影像库 PIL或者Python Imaging Library是一个包含许多函数来处理来自Python脚本的图像的包。PIL官方网站在这里。目前版本的PIL是PIL 1.1.7,可用于Python 2.3到Python 2.7。本文将使用Python 2.6的PIL 1.1.7。 在Windows(XP,Vista或者Seven)下,安装PIL相当简单:只需启动PIL Windows安装程序即可。当然你以前需要一个有效的Python 2.6.6安装。 PIL文档可在这里找到:
企鹅号小编
2018/01/12
1.7K0
大神级Python工程师是怎么P图的,带你用Python玩转P图
iOS——隐形水印的实现和『颜色加深』算法
很多 APP 都在敏感页面有水印,主要为了应对舆情时可以追踪图片来源,一般在水印上都会有员工或用户 ID 和昵称。
iOSSir
2019/06/14
1.9K0
Python+pillow计算椭圆图形几何中心
本文所用测试图像文件位于当前文件夹的testimages子文件夹中,并且图像以白色为背景。 from PIL import Image import os def searchLeft(width, height, im): #从左向右扫描 for w in range(width): #从下向上扫描 for h in range(height): #获取图像指定位置的像素颜色 color = im.getpixel((w, h)) if color != (255,
Python小屋屋主
2018/04/16
1.7K0
Python+pillow计算椭圆图形几何中心
隐秘的印记:暗水印实践技术分享
暗水印我们可以理解为:在一些载体数据中添加隐藏标记,这些标记在人类和机器可轻易感知的范围之外。相较于常见的明水印,比如图片和视频中的公司logo、纸币中的水印纹理等。暗水印对大部分感知系统来说是透明的,不可见的。下面通过两个例子来说明。
FB客服
2021/07/03
13.4K0
隐秘的印记:暗水印实践技术分享
Python图像处理:批量添加水印的优雅实现与进阶技巧
在日常图像处理中,为图片添加水印是一项常见任务。有多种方法和工具可供选择,而今天我们将专注于使用Python语言结合PIL库批量添加水印。
一键难忘
2023/12/15
1.2K0
图像处理库Pillow(PIL)的使用-3(实例+详细注释+图片脚本)
Pillow 通过 ImageFilter 类来实现图像的增强效果,该类中集成了不同种类的滤波器,可以通过调用它们从而实现图像的平滑、锐化、边界增强等图像增强操作
laity
2025/02/25
3700
图像处理库Pillow(PIL)的使用-3(实例+详细注释+图片脚本)
五星红旗国庆头像制作教程来了
国庆节终于来了,最近有个五星红旗半透明渐变头像很火,在抖音里、微信群里都流行起来了。
可以叫我才哥
2022/11/11
1.8K0
五星红旗国庆头像制作教程来了
详解Python图像处理Pillow库
在上面的例子中,我们使用open()函数打开了名为"image.jpg"的图像文件,并将其赋值给image变量。这样就可以在后续的代码中使用image对象进行图像处理。
子午Python
2023/07/25
4490
AI办公自动化: 批量给图片加上水印
在图片右下角加上水印,水印内容:“数据来源:toolify.ai,图表制作:公众号AIGCTribe”;
AIGC部落
2024/06/24
1500
AI办公自动化: 批量给图片加上水印
使用Python批量给图片添加文字
你知道Python可以帮助向图像中添加文本吗?虽然Python不是图形编辑软件,但它能够很好地处理图像文件。在本文中,将在多个图像上放置一个示例文本“ExcelPerfect”。不用手动操作,也不用使用一些昂贵的软件,可以使用Python轻易达到同样的效果。
fanjy
2022/11/16
2.7K0
使用Python批量给图片添加文字
局部图像水印嵌入
图像水印技术最初是为了知识产权保护和复制保护而开发的,如好莱坞工作室对DVD的水印。随着生成性AI模型的发展,水印的应用也在演变。例如,美国白宫的行政命令、加州法案、欧盟AI法案和中国AI治理规则都要求AI生成的内容能够被轻松识别,并将水印作为检测和标记AI生成图像的推荐或强制措施。
Srlua
2025/01/02
1810
局部图像水印嵌入
相关推荐
CodeBuddy实现图片水印添加工具
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档