Pillow TIFF格式
Pillow可以读写TIFF文件。它可以读取条纹图像和平铺图像,像素和平面交错的多波段图像。如果您安装了libtiff及其头文件,那么pillow可以读写多种压缩的TIFF文件。否则,Pillow只能读写未压缩的文件。
从5.0.0版开始,Pillow需要libtiff读取或写入压缩文件。在该版本发布之前,Pillow支持在不使用libtiff的情况下读取packbits、lzw和jpeg压缩的tiff。
该 open()
方法可以设置以下内容 info
属性:
-
compression
压缩模式。
2.0.0 新版功能.
-
dpi
图像分辨率 (xdpi, ydpi) 为元组,你可以使用 tag
属性获取有关图像分辨率的详细信息。
1.1.5 新版功能.
-
resolution
图像分辨率 (xres, yres) 为元组。这是以文件指定的单位为单位的度量。
1.1.5 新版功能.
这个 tag_v2
属性包含在TIFF元数据字典。键是来自 TiffTags.TAGS_V2
的数字索引。值是单个项的字符串或数字,在一个值的元组中返回多个值。有理数返回为 IFDRational
对象。
3.0.0 新版功能.
为了与旧代码兼容,该 tag
属性包含一个解码 TIFF 字段的字典,如在 3.0.0 版之前返回。值以字符串或数值元组的形式返回。有理数作为 的元组返回。(numerator, denominator)
3.0.0 版后已移除.
读取多帧TIFF图像
TIFF加载程器支持 seek()
和 tell()
方法,获取并返回图像文件中的帧编号。您可以将这些方法组合到下一帧 (im.seek(im.tell() + 1)
)。帧的编号从0到 im.num_frames - 1
,可以按任意顺序访问。
如果你试图寻找最后一帧,im.seek()
会抛出一个 EOFError
。
保存TIFF图像
这个 save()
方法可以采用以下关键字参数:
-
save_all
如果为真,Pillow将把图像的所有帧保存到多帧TIFF文档中。
3.4.0 新版功能.
-
append_images
附加为附加帧的图像列表。列表中的每个图像都可以是单帧或多帧图像。但是请注意,为了得到正确的结果,所有附加的图像都应该具有相同的 encoderinfo
和 encoderconfig
属性。
4.2.0 新版功能.
-
tiffinfo
一个ImageFileDirectory_v2
包含TIFF标记和值的对象或dict对象。TIFF字段类型是自动检测数值和字符串值的,任何其他类型都需要使用 ImageFileDirectory_v2
对象并从 TiffTags.TYPES
设置输入具有适当的数值的tagtype
。
2.3.0 新版功能.
应使用IFDRational
对象传入有理类型的元数据值。
3.1.0 新版功能.
为了与旧代码兼容,ImageFileDirectory_v1
可以在该字段中传递一个 对象。但是,这已被弃用。
5.4.0 新版功能.
以前的版本在使用libtiff编写时只支持一些标记。支持的列表位于 TiffTags.LIBTIFF_CORE
。
6.1.0 新版功能.
增加了对签名类型(例如 TIFF_SIGNED_LONG
)以及多个值的支持。单个标记=签的多个值必须为 ImageFileDirectory_v2
作为元组并需要匹配的类型 tagtype
标记类型。
-
compression
包含文件所需压缩方法的字符串。(仅在安装libtiff时有效)有效的压缩方法为: None
,"tiff_ccitt"
,"group3"
, "group4"
, "tiff_jpeg"
,"tiff_adobe_deflate"
, "tiff_thunderscan"
,"tiff_deflate"
,"tiff_sgilog"
,"tiff_sgilog24"
, "tiff_raw_16"
-
quality
jpeg压缩的图像质量,从0(最差)到100(最好)。默认值为75。
6.1.0 新版功能.
设置TIFF头字段的这些参数是使用TiffInfo提供的常规标记的替代方法。
-
description
-
software
-
date_time
-
artist
-
copyright
字符串 -
resolution_unit
一个整数。1表示无单位,2表示英寸,3表示厘米。 -
resolution
整数或浮点数,用于x和y分辨率。 -
x_resolution
整数或浮点数。 -
y_resolution
整数或浮点数。 - dpi 一组(x_resolution, y_resolution),以英寸为分辨率单位。为了与其他图像格式保持一致,dpi的x和y分辨率将四舍五入为最接近的整数。
更多建议: