JpegPresets モジュール

Photoshop の設定と同等の JPEG 画質設定。JPEG ファイルの保存時に使用できます。

デフォルトでは、以下のプリセットが利用可能です: web_lowweb_mediumweb_highweb_very_highweb_maximumlowmediumhighmaximum。必要に応じて、presets 辞書にさらにプリセットを追加できます。

プリセットを適用するには、以下を指定します

quality="preset_name"

量子化テーブルのみを適用するには

qtables="preset_name"

サブサンプリング設定のみを適用するには

subsampling="preset_name"

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

サブサンプリング

サブサンプリングとは、輝度情報よりも彩度情報の解像度を低くして画像をエンコードする手法です。(参考: https://en.wikipedia.org/wiki/Chroma_subsampling)

可能なサブサンプリング値は 0、1、2 で、それぞれ 4:4:4、4:2:2、4:2:0 に対応します。

JpegImagePlugin.get_sampling() 関数を使用して、JPEG のサブサンプリングを取得できます。

JPEG 圧縮データでは、EXIF タグの代わりに JPEG マーカーが使用されます。(参考: https://exiv2.org/tags.html)

量子化テーブル

これらは、DCT (離散コサイン変換) によって画像から*不要な*情報を削除するために使用される値です (圧縮の非可逆部分)。(参考: https://en.wikipedia.org/wiki/Quantization_matrix#Quantization_matriceshttps://en.wikipedia.org/wiki/JPEG#Quantization)

JPEG の量子化テーブルは、以下を使用して取得できます

im.quantization

これは、リストを含む辞書を返します。JPEG を保存するときに、この辞書を qtables 引数として直接渡すことができます。

プリセットの量子化テーブル形式は、サブリストを含むリストです。 これらの形式は相互に変換可能です。

Libjpeg 参考: https://web.archive.org/web/20120328125543/http://www.jpegcameras.com/libjpeg/libjpeg-3.html

PIL.JpegPresets.presets: dict

サポートされているすべてのプリセットの辞書。