当我尝试使用PIL调整图像大小(缩略图)时,exif数据会丢失.
我该怎么做才能保留缩略图中的exif数据?当我搜索相同的,得到一些链接,但似乎没有工作.
from PIL import Image
import StringIO
file_path = '/home/me/img/a.JPG'
im = Image.open( file_path)
THUMB_SIZES = [(512, 512)]
for thumbnail_size in THUMB_SIZES:
im.thumbnail( thumbnail_size, Image.ANTIALIAS)
thumbnail_buf_string = StringIO.StringIO()
im.save('512_' + "a", "JPEG")
Run Code Online (Sandbox Code Playgroud)
原始图像具有exif数据,但图像im(512_a.JPEG)不具有exif数据.
我使用 Python OpenCV 创建了一个 JPEG,EXIF 数据在此过程中丢失,并且在调用 imwrite 时显然无法重新添加(参考:在 python 中使用 opencv 编辑时无法保留图像 exif 数据)。
两个问题:
一般来说,如何将原始 EXIF 数据/新的自定义元数据写入内存中而不是文件中的 JPEG 中?
Pillow/PIL 是否能够维护 EXIF 数据并允许添加补充元数据?截至 2013 年(参考:如何使用 PIL 维护图像的 exif 数据调整大小)这似乎不可能,除非通过 tmp 文件(这对我来说不是一个选项)。
一如既往的感谢