39.12。 jpeg —JPEGファイルの読み取りと書き込み
バージョン2.6以降非推奨: jpeg モジュールはPython3で削除されました。
モジュール jpeg は、Independent JPEG Group(IJG)によって作成されたjpegコンプレッサーとデコンプレッサーへのアクセスを提供します。 JPEGは画像を圧縮するための標準です。 ISO10918で定義されています。 JPEGまたはIndependentJPEG Groupソフトウェアの詳細については、JPEG標準またはソフトウェアに付属のドキュメントを参照してください。
JPEG画像ファイルへのポータブルインターフェイスは、FredrikLundhによるPythonImaging Library(PIL)で利用できます。 PILに関する情報は、 http://www.pythonware.com/products/pil/で入手できます。
jpeg モジュールは、例外といくつかの関数を定義します。
- exception jpeg.error
- エラーが発生した場合に compress()および decompress()によって発生する例外。
- jpeg.compress(data, w, h, b)
- データを幅 w と高さ h のピックスマップとして扱い、ピクセルあたり b バイトにします。 データはSGIGL順であるため、最初のピクセルは左下隅にあります。 これは、
gl.lrectread()
の戻りデータを compress()にすぐに渡すことができることを意味します。 現在、1バイトと4バイトのピクセルのみが許可されており、前者はグレースケールとして扱われ、後者はRGBカラーとして扱われます。 compress()は、圧縮された画像を含む文字列をJFIF形式で返します。
- jpeg.decompress(data)
- データは、JFIF形式の画像を含む文字列です。 タプル
(data, width, height, bytesperpixel)
を返します。 この場合も、データはgl.lrectwrite()
に渡すのに適しています。
- jpeg.setoption(name, value)
さまざまなオプションを設定します。 後続の compress()および decompress()呼び出しでは、これらのオプションが使用されます。 次のオプションを使用できます。
オプション
効果
'forcegray'
入力がRGBの場合でも、出力を強制的にグレースケールにします。
'quality'
圧縮画像の品質を
0
から100
の間の値に設定します(デフォルトは75
)。 これは圧縮にのみ影響します。'optimize'
ハフマンテーブルの最適化を実行します。 時間がかかりますが、圧縮された画像は小さくなります。 これは圧縮にのみ影響します。
'smooth'
圧縮されていない画像に対してブロック間スムージングを実行します。 低品質の画像にのみ役立ちます。 これは解凍にのみ影響します。
も参照してください
- JPEG静止画像データ圧縮規格
- PennebakerとMitchellによるJPEG画像形式の正規リファレンス。
- 情報技術-連続トーン静止画像のデジタル圧縮とコーディング-要件とガイドライン
- JPEGのISO規格は、ITUT.81としても公開されています。 これはPDF形式でオンラインで入手できます。