簡體   English   中英

使用 Python 調整圖像大小並保留 EXIF 和 XMP 元數據

[英]Resize image with Python and keep EXIF and XMP metadata

它被問了很多次如何調整圖像大小並保留現有的 exif 數據。 我可以使用 PIL 輕松做到這一點:

from PIL import Image

im = Image.open("image.jpeg")
exif = im.info['exif']
# process the image, for example resize:
im_resized = im.resize((1920, 1080), resample=PIL.Image.LANCZOS)
im_resized.save("resized.jpeg", quality=70, exif=exif)

我想知道有沒有辦法從原始圖像中保留 XMP 元數據 XMP 中有很多 GPS 數據,我希望將它們保留在調整大小的版本中。

即使是繼任者 Pillow 也無法讀取 XMP(和 IPTC) 此外,您並沒有真正保留任何東西 - 您創建了一個全新的文件並添加了其他 EXIF 數據的副本(包括現在可能無效的信息,如寬度/高度)。

JFIF 文件不是黑魔法——它們的文件格式可以很容易地解析; XMP 最有可能在 APP1 段中找到(就像 EXIF)。 在極少數情況下,它跨越多個段。 您可以先使用 PIL/Pillow 創建文件,然后對其進行修改 - 插入額外的段很簡單,不需要額外的工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM