Python で画像をトリミングする

画像のトリミングは、画像編集およびグラフィック デザイン アプリケーションでは不可欠な機能です。画像のサイズを変更したり、画像の端をトリミングしたりできます。 Python アプリケーションで画像を処理したり画像編集を行ったりする際、開発者は多くの場合、簡単な画像トリミング メカニズムを必要とします。したがって、このブログ投稿では、Python アプリケーションで画像をシームレスにトリミングする方法を学びます。

画像をトリミングするための Python ライブラリ

画像のトリミングには、Aspose.Imaging for Python を使用します。これは、画像を操作するためのさまざまな機能を提供する多用途のライブラリです。特に、基本的な画像編集タスクだけでなく高度な画像編集タスクも簡単に実行できます。

ライブラリをダウンロードするか、PyPIからPythonアプリケーションにインストールすることができます。

> pip install aspose-imaging-python-net 

Python で画像をトリミングする

Aspose.Imaging for Python を使用して画像をトリミングするには、シフト値を使用する方法と長方形を使用する方法の 2 つがあります。シフト値メソッドでは、画像シフトの左、右、上、下の値を指定します。一方、2 番目の方法では、長方形を使用してトリミング領域を定義します。

それでは、Python コード スニペットを使用して、上記の画像トリミング方法をそれぞれ見てみましょう。

Python でシフト値を使用して画像をトリミングする

以下の手順は、Python でシフト値を使用して画像をトリミングする方法を示しています。

  • まず、Image.load()メソッドを使用して画像をRasterImageとして読み込みます。
  • 次に、パフォーマンスを向上させるために画像をキャッシュします。
  • 左、右、上、下のシフト値を指定します。
  • シフト値をRasterImage.crop()メソッドに渡し、画像をトリミングします。
  • 最後に、RasterImage.save()メソッドを使用してトリミングした画像を保存します。

次のコード スニペットは、Python で画像をトリミングする方法を示しています。

import aspose.pycore as aspycore
from aspose.imaging import RasterImage, Image, Rectangle
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
data_dir = templates_folder

# 既存の画像を RasterImage クラスのインスタンスにロードします
with aspycore.as_of(Image.load(os.path.join(data_dir, "template.jpg")), RasterImage) as raster_image:
	# パフォーマンスを向上させるために、トリミングする前に画像をキャッシュする必要があります。
	if not raster_image.is_cached:
		raster_image.cache_data()

	# 4 辺すべてのシフト値を定義します
	left_shift = 10
	right_shift = 10
	top_shift = 10
	bottom_shift = 10
  
	# シフト値に基づいて画像にトリミングを適用します
	raster_image.crop(left_shift, right_shift, top_shift, bottom_shift)
  
  	# 切り抜いた画像を保存する
	raster_image.save(os.path.join(data_dir, "result.jpg"))

if delete_output:
	os.remove(os.path.join(data_dir, "result.jpg"))

以下は、入力画像 (1 番目) とそのトリミングされたバージョン (2 番目) のスクリーンショットです。

Pythonで画像をトリミングする
Python での画像のトリミング

長方形を使用した画像のトリミング

このメソッドでは、読み込まれた画像内の特定の領域をトリミングする四角形を定義します。結果のイメージには、その四角形の内側に入るイメージの部分が含まれます。以下は、長方形を使用して画像をトリミングする手順です。

  • まず、Image.load()メソッドを使用して画像をRasterImageとして読み込みます。
  • 次に、画像をキャッシュします。
  • 任意の大きさの長方形を作成します。
  • Rectangle オブジェクトを RasterImage.crop() メソッドに渡し、画像をトリミングします。
  • 最後に、RasterImage.save()メソッドを使用してトリミングした画像を保存します。

次のコード スニペットは、Python での四角形による画像のトリミングを示しています。

import aspose.pycore as aspycore
from aspose.imaging import RasterImage, Image, Rectangle
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
data_dir = templates_folder

# 既存の画像を RasterImage クラスのインスタンスにロードします
with aspycore.as_of(Image.load(os.path.join(data_dir, "template.jpg")), RasterImage) as raster_image:
	if not raster_image.is_cached:
		raster_image.cache_data()

	# 希望のサイズの Rectangle クラスのインスタンスを作成します
	rectangle = Rectangle(20, 20, 20, 20)
  
  	# クロップ画像
	raster_image.crop(rectangle)
  
  	# 画像を保存
	raster_image.save(os.path.join(data_dir, "result.jpg"))

if delete_output:
	os.remove(os.path.join(data_dir, "result.jpg"))

無料の Python 画像トリミング ライブラリを入手

無料の一時ライセンスを取得し、評価制限なしで画像をトリミングできます。

結論

Aspose.Imaging for Python は、画像のトリミングと操作のための堅牢なソリューションを提供します。このブログ投稿では、Python アプリケーションに簡単に統合できる画像のトリミング方法をいくつか紹介しました。この強力な Python 画像編集 API を使用して、画像処理機能を強化します。 ドキュメント にアクセスしてその驚くべき機能を探索し、フォーラム を通じて質問を共有してください。

関連項目