2

我正在使用 PythonMagick 缩放和旋转一些 JPEG。理想情况下,我也可以更新 EXIF Orientation 标签。但是,虽然我可以检索此标签的值,但我似乎无法修改它。考虑:

from PythonMagick import Image

i = Image("image.jpg")
print i.attribute("EXIF:Orientation")
i.attribute("EXIF:Orientation", "5")
i.write("image-modified.jpg")

运行它会显示图像的原始方向:

exarkun@top:/tmp$ python broken.py 
6
exarkun@top:/tmp$

只要它不是 5 开始,exiftool 就会证明新文件的方向没有调整:

exarkun@top:/tmp$ exiftool image.jpg | grep Orient
Orientation                     : Rotate 90 CW
exarkun@top:/tmp$ exiftool image-modified.jpg | grep Orient
Orientation                     : Rotate 90 CW
exarkun@top:/tmp$ 

为什么 ImageMagick 不写出修改后的方向?我怎样才能得到它?

4

1 回答 1

1

这个问题类似于:python的Exif操作库

另请参阅:使用 pyexiv2 将 EXIF 信息从一个图像复制和写入另一个图像

以上涉及到使用pyexiv2读写exif数据。我意识到这不是使用 PythonMagick,而是使用“高级”python 库来编写 EXIF 数据,至少据我所知,这是目前最好的(唯一?)解决方案。

看来 ImageMagick 是有能力的,所以也许有人可以在这里扩展它是如何从 python 完成的;请参阅:如何将 exif 数据添加到图像?

于 2012-06-24T09:49:10.823 回答