3

画像を扱う Python スクリプトを書いています。画像をアーカイブに入れに圧縮し、解凍して元に戻すことができるモジュールはありますか? (たとえば、1MB の画像は圧縮後 0.8MB になり、解凍後は 1MB になります)。

アーカイブを使用せずに Python で画像を圧縮および解凍するサンプル コードを見ることはできますか?

すでにいくつかのモジュールを見てきましたが、それらは文字列を圧縮します。

4

2 に答える 2

7

おそらく、Python Image Library (PIL)と、PNGおよびJPEG形式を確認することをお勧めします。

PIL Image.save()メソッドを使用すると、PNG または JPEG 画像を保存できます。

PNG - ロスレス。単色または少数の色を含む「カートゥーン」/ロゴ画像に適しています。

JPEG - 不可逆で、写真や「進行中」の画像に適しています。

于 2012-06-27T19:40:00.740 に答える
5

PNG や JPEG などの最新の画像形式はすでに圧縮されています。私の一般的な推奨事項は、Brendan Long のアドバイスに従って、これらの形式を使用し、それらに加えられたすべての作業を活用することです。

そうは言っても、Python で任意のファイルの内容を圧縮したい場合は、非常に簡単な例を次に示します。

import zlib

with open("MyImage.jpg", "rb") as in_file:
    compressed = zlib.compress(in_file.read(), 9)

with open("MyCompressedFile", "wb") as out_file:
    out_file.write(compressed)
于 2012-06-27T19:45:05.560 に答える