Browsing Category code

Pillow 读取和保存EXIF信息至图片

在上一篇文章中“Python+PIL(Pillow)批量设置图片大小和添加水印”,虽然将图片保存了,但图片的EXIF信息则没有了,然后在网上找关于如何将原图片的exif信息保存至新图片中,经过一晚上的查找,终于实现了这个功能,同样是在Python+pillow的基础上,我们需要一个新的插件,名叫“piexif” 。 注意:Pillow尚无法读取.png后缀图片的exif信息,现只能读取.jpg图片的exif信息。 1.首先是如何读取图片的EXIF信息: from PIL import Image from PIL.ExifTags import TAGS def get_exif(): i = Image.open(‘/path/to/imagefile.jpg’) info = i._getexif() return {TAGS.get(tag): value for tag, value in info.items()} print get_exif() 上面的解决方案来自stackoverflow,这个方法还是比较简单的。 另外提供一种方法,来自DeveloperQ: import PIL.Image img…

Read More

Python+PIL(Pillow)批量设置图片大小和添加水印

最近要将自己旅行的照片放到自己搭建的网站上,从相机raw文件导出的相片分辨率为6000*4000,都在25M以上,如果要是上传到服务器上太大了,也会占用太多空间。Python有很多用途,其中利用Pillow批量更改文件大小真的很方便。 1.安装Python及依赖最新版的guide对安装方面说的不是很多,建议先看3.0版本的安装,说的很详细。以Macos为例: $ brew install python $ brew install libtiff libjpeg webp little-cms2 $ pip install pillow 这样,pillow就安装完成了。 2.在照片文件下,创建一个 example.py 的文件,执行的时候在terminal中运行 “python example.py” 即可。 以下代码中的后面中文注释不要粘贴,会有错误“SyntaxError: Non-ASCII character”。 将原来的.jpg格式转换成.png格式,或者将原来的.png格式转成.jpg格式: from PIL import Image import glob, os…

Read More