如何更改EXIF方向标签(最好使用PythonMagick)?
我正在用PythonMagick对一些JPEG图片进行缩放和旋转。理想情况下,我还想更新EXIF的方向标签。不过,虽然我可以获取这个标签的值,但似乎无法修改它。来看这个例子:
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不更新修改后的方向呢?我该怎么做才能让它更新呢?
1 个回答
1
这个问题和这个链接提到的内容很相似:Python的Exif处理库
另外,还可以看看这个链接:使用pyexiv2从一张图片复制和写入EXIF信息到另一张图片
上面提到的内容是使用pyexiv2来读取和写入EXIF数据。我知道这不是用PythonMagick,但它是一个“高级”的Python库,用来写EXIF数据。到目前为止,我觉得这是最好的(可能也是唯一的)解决方案。
看起来ImageMagick也能做到,所以也许有人可以在这里详细说明一下如何从Python中实现;可以参考这个链接:我该如何给图片添加EXIF数据?