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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
腾讯云2024双11大促:云服务器CVM最佳实践
在数字化时代,云计算已成为企业和个人用户部署应用、存储数据、处理信息的首选方案,其高效、灵活、可扩展的特性极大地促进了业务的快速发展。
参谋带个长
2024/11/08
2.1K0
腾讯云2024双11大促:云服务器CVM最佳实践
腾讯云2024双11大促:轻量应用服务器最佳实践
轻量应用服务器是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、Web应用、小程序/小游戏、游戏服、电商应用、云盘/图床和开发测试环境,相比普通云服务器更加简单易用且更贴近应用,提供极简上云体验。
参谋带个长
2024/11/08
1.3K0
腾讯云2024双11大促:轻量应用服务器最佳实践
【玩转服务器】如何设置服务器安全组
服务器在接入互联网后只需放行指定端口满足业务即可,这样可以大大提升服务器的安全性。腾讯云提供在操作面板中设置安全组,方便高效的提供服务器安全性。
参谋带个长
2023/06/09
4.3K0
【玩转服务器】如何重装服务器操作系统
1、重装后,实例系统盘内的所有数据将被清除,恢复到初始状态,该操作不可恢复,请谨慎操作!
参谋带个长
2023/06/09
4K0
【玩转服务器】如何重置服务器密码
https://console.cloud.tencent.com/cvm/instance/index
参谋带个长
2023/06/09
2.5K0
双十一云服务采购指南:腾讯云服务器CVM安装与配置
双十一不仅仅是购物狂欢节,对于希望享受高性能云服务的企业和开发者而言,更是入手腾讯云产品的绝佳时机!然而,面对琳琅满目的产品与各种优惠活动,如何才能买到性价比最高的产品?本文将为你深入剖析腾讯云双十一的优惠机制,教你如何用最少的预算获取最佳的云服务配置,助你在年末冲刺中脱颖而出。
一键难忘
2024/11/10
3891
双十一云服务采购指南:腾讯云服务器CVM安装与配置
腾讯云双十一福利篇之CVM云服务器
云服务器 CVM 支持用户自定义一切资源:CPU、内存、硬盘、网络、安全等,并可以在需求发生变化时轻松地调整它们。
小馒头学Python
2024/11/13
5670
腾讯云双十一福利篇之CVM云服务器
手把手教你购买腾讯云服务器
腾讯云是腾讯公司旗下的云计算服务提供商,提供一系列基础设施和云服务,涵盖了计算、存储、数据库、人工智能、大数据分析、物联网等领域。腾讯云在全球范围内建立了多个数据中心,提供多地域、多可用区的服务支持,为用户提供高可靠性和稳定性的服务。它还提供灵活的付费模式和全面的技术支持,适应了各种规模和类型的用户需求。这里我们将手把手教你如何快速购买腾讯云服务器。
无代码Dev
2024/01/26
2.1K0
手把手教你购买腾讯云服务器
别让您的服务器“裸奔”——新购服务器后的安全配置(基础篇)
本指南旨在指导腾讯云用户开通主机安全(专业版)、配置云硬盘定期快照,以达到提高终端和数据的安全性、防范病毒木马等安全威胁的目的。
蜀相
2021/12/20
5.5K1
别让您的服务器“裸奔”——新购服务器后的安全配置(基础篇)
腾讯云服务器如何创建网站快照?
快照是云服务商提供的一种数据备份方式,用于日常的云硬盘数据备份和恢复。可以简单理解为在线数据的实时副本,在该盘在出现问题时,可以快速恢复到未出问题前的状态。
主机优惠教程
2022/05/21
9.3K0
【玩转服务器】如何远程Linux服务器
Linux服务器与Windows服务器不同,通常没有图形界面,远程管理均以命令行进行操作,以下介绍如何使用腾讯云自带的登录功能进行管理。
参谋带个长
2023/06/09
1.4K0
腾讯云服务器国际版如何安装??
在腾讯云服务器(CVM)上安装系统主要涉及创建实例时选择操作系统镜像,后续也可通过控制台更换系统。以下是详细步骤:
用户11534092
2025/02/27
3180
腾讯云服务器国际版如何安装??
腾讯云国际版:云服务器功能与优势
多地域多可用区:掩盖我国、亚太、欧洲及美洲下的多个地域。在接近您用户的地域布置运用可获得较低的时延。
老鹰飞机@laoying06
2023/07/01
9560
腾讯云国际版:云服务器功能与优势
腾讯云服务器国际版如何安装?
在腾讯云国际版(Tencent Cloud International)安装云服务器(CVM)的流程与国内版类似,但注册、支付、数据中心选择等细节有所不同。以下是详细步骤:
用户11534092
2025/02/27
3710
腾讯云服务器国际版如何安装?
腾讯云-云服务器概述&售前
云服务器(Cloud Virtual Machine , CVM)提供安全可靠的弹性计算服务,只需要几分钟,可以在云端获取和启动CVM实现你的计算需求,随着业务的需求变化, 你可以实时扩展或者缩减计算资源,CVM 支持按实际使用的资源计费,可以节约计算成本,使用CVM 可以极大降低软硬件的采购成本,简化IT运维工作。
Chris Fei
2021/05/03
41.2K0
腾讯云服务器配置不用愁 只需这几步
作为云计算服务的重要组成部分,云服务器以其简单高效、安全可靠、弹性扩展的特性成为核心力量,构建了包括计算、网络、存储在内的综合服务平台。以腾讯云服务器为例,CVM不仅提供了镜像复制、快照备份等功能,还可以按实际使用计算费用。借此,用户可以在数分钟内获取并配置腾讯云服务器计算实例。值得一提的是,腾讯云服务器对于前沿的高性能计算也有较好的支持。今年初,腾讯云推出了高性能异构计算基础设施----FPGA云服务。
用户5907249
2019/07/31
3.7K0
腾讯云服务器配置不用愁 只需这几步
腾讯云服务器搭建网站
对于服务器来说稳定、极速就选择 2核 4G内存配置的云服务器比较稳妥。这个配置跑网站是比较轻松无压力的。配上 avada主题,可以做出的很大气、高大上的企业网站。下面介绍腾讯云的长期优惠折扣活动,感兴趣的可以注册账号领代金券使用。
用户5921096
2019/10/01
17.9K0
腾讯云服务器搭建网站
CloudLite认证笔记 云服务器 CVM 产品认证
认证链接 腾讯云CloudLite认证 云服务器 CVM 产品认证 目录 在线学习 云服务器产品介绍 腾讯云CVM的重要概念 腾讯云CVM操作指引 腾讯云服务器产品在线迁移热点解析 腾讯云服务器产品离线迁移操作解析 动手实践 基于 CentOS 搭建 WordPress 个人博客 证书展示 [证书] 知识点摘记 云服务器方案的历史演进:虚拟主机 -> 独立主机 -> VPS主机 -> 云服务器 云服务器CVM(弹性可伸缩的计算服务) 资源灵活:弹性计算 配置灵活:CPU、内存、硬盘和宽带灵活配置 稳定与容灾
客名利
2021/10/31
4.2K0
腾讯云服务器选择包括CPU/内存/地域/系统/磁盘及公网宽带等
腾讯云CVM云服务器配置如何选择?小编第一次使用自定义配置的方式购买云服务器时也是一头雾水,今天有时间云服务器吧来详细说下云服务器的选择包括CVM实例的配置、实例规格、地域节点和可用区、镜像操作系统、磁盘及公网宽带等信息选择方法:
上云小秘书
2022/08/23
9.7K0
腾讯云服务器如何设置安全组?
入站规则:表示允许到达与安全组相关联的云服务器的入站流量。 出站规则:表示离开云服务器的出站流量。
云上云
2019/07/02
51.5K0
腾讯云服务器如何设置安全组?
推荐阅读
相关推荐
腾讯云2024双11大促:云服务器CVM最佳实践
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档