阅读(3664) (0)

Pillow JpegProesets模块

2021-07-16 09:11:03 更新

JPEG质量设置等同于Photoshop设置。可在保存JPEG文件时使用。

默认情况下,以下预设可用: web_low , ​web_medium ​, ​web_high​ , ​web_very_high ​, ​web_maximum​ , ​low ​, ​medium ​, ​high ​, ​maximum ​。 如果需要的话,可以将更多预设添加到 presets字典中 。

要应用预设,请指定:

quality="preset_name"

仅应用量化表:

qtables="preset_name"

仅应用子采样设置:

subsampling="preset_name"

例子::

im.save("image_name.jpg", quality="web_high")

子采样

子采样是通过对色度信息实现比对亮度信息更低的分辨率来对图像进行编码的做法。(

可能的子采样值为 0、1 和 2,分别对应于 4:4:4、4:2:2 和 4:2:0。

您可以使用该​JpegImagePlugin.get_sampling()​功能获得 JPEG 的二次采样 。

在 JPEG 压缩数据中,使用 JPEG 标记代替 EXIF 标记。(

量化表

它们是DCT(离散余弦变换)用来删除的值 unnecessary 来自图像的信息(压缩的有损部分)。

您可以通过以下方式获得jpeg的量化表:

im.quantization

这将返回带有多个列表的字典。保存jpeg时,可以将此字典直接作为qtables参数传递。

预设中im.量化和量化之间的表格格式有三种不同:

  1. 预设的基本容器是一个带有子列表而不是dict的列表。dict[0]->list[0],dict[1]->list[1],…
  2. 预设中的每个表都是列表而不是数组。
  3. 在预设中删除之字形顺序(libjpeg版本需要大于等于6a)。

您可以使用“jpegimageplugin.convert”函数将dict格式转换为预设格式。

PIL.JpegPresets.presets: dict

所有支持的预设的字典。