Pillow JPEG2000格式
2.4.0 新版功能。
Pillow 可以读取和写入包含 L , LA , RGB 或 RGBA 数据的文件。它还可以读取包含 YCbCr 数据的文件,在读取时转换为 RGB 或 RGBA 取决于是否有alpha通道。 Pillow 支持jpeg 2000原始代码流( .j2k 文件)以及打包的jpeg 2000文件( .j2p 或 .jpx 文件)。 Pillow 不支持组件采样频率不同的文件。
加载时,如果在调用 load() 方法前设置图像 mode ,就可以要求 Pillow 将图像转换为 RGB 或 RGBA 而不是自己选择。也可以设置 reduce 到要丢弃的分辨率数(每个分辨率将生成的图像的大小减少2倍),以及 layers 指定要加载的质量层的数量。
该save()方法支持以下选项:
-
offset 图像偏移量,作为整数的元组,例如(16,16) -
tile_offset图块偏移量,同样是整数的2元组。 -
tile_size图块大小为2元组。如果未指定,或设置为None,则图像将不平铺保存。 -
quality_mode 无论是"rates"或"dB"取决于您要使用指定的图像质量的单位。 -
quality_layers 一个数字序列,每一个数字代表一个近似的尺寸缩减(如果质量模式是"rates" )或以分贝为单位的信噪比值。如果未指定,则默认为全质量的单层。 num_resolutions 要存储的不同图像分辨率的数量(对应于离散小波变换分解的数量加一)。-
codeblock_size 代码块大小为2元组。最小尺寸为4 x 4,最大尺寸为1024 x 1024,附加的限制是代码块的系数不得超过4096(即两个数字的乘积不得超过4096)。 -
precinct_size 区域大小为2元组。必须是两个轴上的二次幂,并且必须大于代码块大小。 -
irreversible 如果 True,使用有损不可逆颜色转换,然后使用DWT 9-7。默认为 False这意味着要使用与DWT 5-3可逆的颜色转换。 -
progression 控制进展顺序;必须是 "LRCP" , "RLCP" ,"RPCL" , "PCRL" ,"CPRL" . 字母分别代表组件、位置、分辨率和层,并控制编码顺序,例如使用 LRCP 模式编码的图像可以在到达解码器时对其质量层进行解码,而使用 RLCP 模式编码的图像将越来越多的分辨率在到达时被解码,等等。 -
cinema_mode 设置编码器以产生符合数字电影规格的输出。这里的选项是 "no"(默认), "cinema2k-24" 24FPS 2K, "cinema2k-48" 对于48fps 2K,以及"cinema4k-24"对于24fps 4K。请注意,对于合规的 2K 文件, 您的图像尺寸至少必须匹配 2048 x 1080,而对于合规的 4K 文件,至少有一个尺寸必须匹配 4096 x 2160。
要启用jpeg 2000支持,您需要在构建Python图像库之前构建并安装OpenJPEG库(2.0.0或更高版本)。Windows 用户可以安装 OpenJPEG 网站上提供的 OpenJPEG 二进制文件,但必须将它们添加到他们的 PATH 中才能使用 Pillow(如果不这样做,您将收到无法加载
_imagingDLL 的错误)。