我正在尝试阅读并保存带有一些额外标签的tiff文件,当我制作一个效果很好的新图像但是当我打开图像然后尝试写回一些元标记时,它无效(图像可以是但它会保留原始标签而不做任何更改。
我附上了测试代码,感谢您的帮助!
from PIL import Image, TiffImagePlugin
def test_custom_metadata():
img = Image.open('myimage.tif')
info = TiffImagePlugin.ImageFileDirectory()
CustomTagId = 37000
info[CustomTagId] = 6
info.tagtype[CustomTagId] = 3 # 'short' TYPE
Image.DEBUG=True
TiffImagePlugin.WRITE_LIBTIFF = False # Set to True to see it break.
img.save('./temp2.tiff', tiffinfo = info)
test_custom_metadata()
答案 0 :(得分:1)
以下适用于枕头版本2.3:
from PIL import Image
image_1 = Image.open('input.tiff')
image_1.tag[37000] = 'my special tiff tag'
image_1.save('output.tiff', tiffinfo=image_1.tag)
image_2 = Image.open('output.tiff')
print image_2.tag[37000]
当在当前文件夹中使用my special tiff tag
运行时,会打印input.tiff
。
我的理解是,这只适用于不使用libtiff编写文件的情况。使用libtiff时,将忽略自定义标记。
答案 1 :(得分:0)