Pillow JPEG2000格式

2021-07-09 15:43 更新

2.4.0 新版功能。

Pillow 可以读取和写入包含 ​​, ​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(如果不这样做,您将收到无法加载​ _imaging​DLL 的错误)。


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号