如何为 tiff 文件添加附加标签

MMz*_*ztx 2 python tiff python-imaging-library

我正在尝试读取并保存带有一些附加标签的 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()
Run Code Online (Sandbox Code Playgroud)

Ber*_*ard 5

以下内容适用于 Pillow 版本 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]
Run Code Online (Sandbox Code Playgroud)

当在当前文件夹中my special tiff tag运行时,会打印此信息。input.tiff

我的理解是,这仅在您不使用 libtiff 写入文件时才有效。使用 libtiff 时,自定义标签将被忽略。