在Python中调整图像大小而不丢失EXIF数据

29

我需要使用Python调整jpg图片的大小,同时保留原始图像的EXIF数据(关于拍摄日期、相机型号等的元数据)。所有有关Python和图像的谷歌搜索都指向了PIL库,我目前正在使用它,但似乎无法保留元数据。到目前为止,我使用PIL编写的代码如下:

img = Image.open('foo.jpg')
width,height = 800,600
if img.size[0] < img.size[1]:
    width,height = height,width

resized_img = img.resize((width, height), Image.ANTIALIAS) # best down-sizing filter
resized_img.save('foo-resized.jpg')

有什么想法吗?或者我可以使用其他库吗?


我的回答展示了如何仅使用PIL保留exif数据:https://dev59.com/mmQn5IYBdhLWcg3wLkgd - Gary Kerr
11个回答

-1
PIL 处理 EXIF 数据,对吧?在 PIL.ExifTags 中查找。

4
resize()方法会删除图片的EXIF信息,在PIL库中无法恢复。你可以通过img._getexif()方法获取这些数据,但在调用resize()方法后该方法将不再有效。 - Vinko Vrsalovic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接