JpegPresets
モジュール¶
Photoshop の設定と同等の JPEG 画質設定。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")
サブサンプリング¶
サブサンプリングとは、輝度情報よりも彩度情報の解像度を低くして画像をエンコードする手法です。(参考: 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_matrices、https://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