python批量添加水印_利用Python的PIL库给照片批量加水印 – 摄影与挖洞
出于无聊,用了半小时写(Copy)了一个给照片自动加水印的脚本。大概功能就是将特定照片在右下角添加时间、尺寸、GPS信息(无人机或者手机有)和版权信息。当然,还不够完善,有空了加上读取目录中所有JPG的功能,以及自适应字体大小的功能。
import os
from PIL import Image
from PIL.ExifTags import TAGS
from PIL import ImageFont
from PIL import ImageDraw
def get_exif_data(fname):
"""Get embedded EXIF data from image file."""
ret = {}
try:
img = Image.open(fname)
if hasattr( img, '_getexif' ):
exifinfo = img._getexif()
if exifinfo != None:
for tag, value in exifinfo.items():
decoded = TAGS.get(tag, tag)
ret[decoded] = value
size = img.size
except IOError:
print('IOERROR ' + fname)
return ret,size
def addText(fname,text):
img = Image.open(fname)
draw = ImageDraw.Draw(img)
# font = ImageFont.truetype(, )
font = ImageFont.truetype("Andale.ttf", 64)
# draw.text((x, y),"Sample Text",(r,g,b))
draw.text((img.size[0]-img.size[0]/6,img.size[1]-img.size[1]/10),text,(255,255,255),font=font)
img.save('sample-out.jpg')
print('Added text')
if __name__ == '__main__':
fileName = r'/Users/li-yang/Desktop/DSC04467_1.jpg'
copyright = 'Photo by YangLi'
exif,size = get_exif_data(fileName)
print(exif)
size = str(size[0]) +'*'+ str(size[1])
if 'DateTimeOriginal' in exif:
time = exif['DateTimeOriginal']
else:
time= 'No Time Info'
if 'Model' in exif:
model = exif['Model']
else:
model = 'No Model Info'
if 'GPSInfo' in exif:
GPS = exif['GPSInfo']
else:
GPS = 'No GPS Info'
text = time +'\n' + size +'\n' +GPS+'\n' +copyright
addText(fileName,text)
python批量添加水印_利用Python的PIL库给照片批量加水印 – 摄影与挖洞相关推荐
- python批量添加水印_用Python批量添加水印,提高工作效率!
平常工作中,为保护原创,我们常常会给图片打水印,但是一般的工具存在水印只能添加在固定位置(比如左上.左下等),或者无法批量添加水印的问题.这些不灵活的应用会影响我们的工作效率. 今天,未明学院的老师就 ...
- python批量生成图片_利用Python批量生成任意尺寸的图片
实现效果 通过源图片,在当前工作目录的/img目录下生成1000张,分别从1*1到1000*1000像素的图片. 效果如下: 目录结构 实现示例 # -*- coding: utf-8 -*- imp ...
- python win10 桌面_利用Python批量提取Win10锁屏壁纸实战教程
前言 相信使用Win10的朋友会发现,每次开机锁屏界面都会有不一样的漂亮图片,这些图片通常选自优秀的摄影作品,十分精美. 但是由于系统会自动更换这些图片,所以就算再好看的图片,也许下次开机之后就被替换 ...
- python爬虫背景_利用Python代码实现一键抠背景功能
前言 又是一个逛csdn发现的一个有趣的小项目,可以一键抠背景,需要用到removebg模块及其API,API可从其官网免费获取,网址如下https://www.remove.bg/zh ps:加上/ ...
- python照片墙地图_利用python生成照片墙的示例代码
PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了.其官方主页为:PIL. PIL历 ...
- python高斯求和_利用Python进行数据分析(3)- 列表、元组、字典、集合
本文主要是对Python的数据结构进行了一个总结,常见的数据结构包含:列表list.元组tuple.字典dict和集合set. image 索引 左边0开始,右边-1开始 通过index()函数查看索 ...
- python pdf报告_利用python设计PDF报告,jinja2,whtmltopdf,matplotlib,pandas
转自:https://foofish.net/python-crawler-html2pdf.html 工具准备 弄清楚了网站的基本结构后就可以开始准备爬虫所依赖的工具包了.requests.beau ...
- python抽奖游戏_利用Python写一个抽奖程序,解密游戏内抽奖的秘密
原标题:利用Python写一个抽奖程序,解密游戏内抽奖的秘密 前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 极客 ...
- python实现图像识别_利用Python进行简单的图像识别(验证码)
这是一个最简单的图像识别,将图片加载后直接利用Python的一个识别引擎进行识别 将图片中的数字通过 pytesseract.image_to_string(image)识别后将结果存入到本地的txt ...
最新文章
- 绿色版mysql安装步骤
- 【灵动直播提醒】全国大学生智能车竞赛培训(一)——灵动MM32SPIN27介绍
- Handler 源码解析(Java 层)
- P2761 软件补丁问题
- 3-3Tensor和机器学习的关系
- java操作集合中 concurrentModifyException 异常的原因分析
- Technical Art Director
- 互联网架构介绍 --from 光荣之路
- Elasticsearch添加拼音搜索支持
- 我的遥远的清平湾(插图版)读后感
- 无线WiFi漫游的基本原理及搭建
- vlookup匹配的文字显示0_VLOOKUP函数用法大全
- python删除文本末尾所有空行
- html 文本换行 \n 不换行 空格无效
- 2个月公众号粉丝破万的心路历程
- 368 银河(强连通分量)
- 设计一个用于人事管理的“人员”类
- Yapi 接口平台(Windows、Linux 在线离线安装部署)
- mysql表被锁住/表打不开 Waiting for table metadata lock
- 驰骋工作流ccflow的安装讲解