Python で画像を圧縮する

画像圧縮 は、視覚的な品質を維持しながら画像のファイル サイズを削減する一般的に使用される方法です。画像圧縮技術により、冗長または不要なデータを削除することで、アップロードの高速化、ストレージ要件の削減、帯域幅の使用率の向上が可能になります。プログラムで画像を処理する際、多くの場合、画像のサイズを縮小する必要があります。そこでこの記事では、Python アプリケーションで画像を簡単に圧縮する方法を学びます。

Python画像圧縮ライブラリ

Python で画像を圧縮するには、Aspose.Imaging for Python を使用します。これは、Python アプリケーション内から画像を処理および操作するためのさまざまな機能を提供する強力な画像処理ライブラリです。ライブラリをダウンロードするか、次のコマンドを使用してインストールできます。

> pip install aspose-imaging-python-net 

Python で画像を圧縮する

画像を圧縮するには、圧縮レベルの値を 0 ~ 9 に設定できます。値 9 は最大圧縮を表し、0 は保存モードを表します。以下は、Python で PNG 画像を圧縮する手順です。

  • まず、Imageクラスを使用して画像を読み込みます。
  • 次に、PngOptionsクラスのオブジェクトを作成します。
  • その後、PngOptions.compressionlevel プロパティを使用して圧縮レベルを設定します。
  • 最後に、Image.save(String, PngOptions) メソッドを使用して圧縮画像を保存します。

次のコード サンプルは、Python で画像を圧縮する方法を示しています。

from aspose.imaging.fileformats.png import PngColorType
from aspose.imaging.imageoptions import PngOptions
from aspose.imaging import ColorPaletteHelper, Image
import os


if 'TEMPLATE_DIR' in os.environ:
	templates_folder = os.environ['TEMPLATE_DIR']
else:
	templates_folder = r"C:\Users\USER\Downloads\templates"

delete_output = 'SAVE_OUTPUT' not in os.environ


def compress_png():
  	# 入力および出力ファイルのパス
	input_file = os.path.join(templates_folder, "template.png")
	output_file = os.path.join(templates_folder, "compressed_png.png")
  
  	# 画像の読み込み
	with Image.load(input_file) as image:
		obj_init = PngOptions()
    
    		# 圧縮レベルを設定する
		obj_init.compression_level = 9
		obj_init.progressive = True
		obj_init.color_type = PngColorType.INDEXED_COLOR
		obj_init.palette = ColorPaletteHelper.get_close_image_palette(image, 1 << 5)
    
    		# 圧縮画像を保存する
		image.save(output_file, obj_init)

	if delete_output:
		os.remove(output_file)

他の形式の画像を圧縮するには、それぞれの ImageOption クラスを使用します。たとえば、JPG 画像を圧縮するには JpegOptions を使用し、Tiff 画像の場合は TiffOptions を使用します。 クラス。

無料の画像圧縮ライブラリを入手

無料の一時ライセンス を取得して、評価制限なしで Python アプリケーションで画像を圧縮できます。

オンラインで画像を圧縮する

また、オンラインで画像を圧縮するための Web ベースのツール 無料画像コンプレッサー も作成しました。このツールを使用すると、アカウントを作成せずに、必要なだけ画像を圧縮できます。

結論

この記事では、Python で画像を圧縮するための効率的なソリューションを提供しました。手順とコードサンプルを参考にして、画像を簡単に圧縮する方法を学びました。さらに、Aspose.Imaging for Python に基づく無料のオンライン画像圧縮ツールを紹介しました。アカウントを作成しなくても、どこからでもツールを使用できます。

ドキュメント を使用して、Python 画像処理ライブラリについて詳しく調べることができます。また、フォーラム を通じてフィードバックを共有することもできます。

関連項目