Pythonで画像のサイズを一括で処理する方法は何ですか。
PythonのPILライブラリ(Python Imaging Library)を使用して、画像のサイズを一括で処理することができます。
指定されたディレクトリ内のすべての画像を指定されたサイズに縮小するためのサンプルコードが以下に示されています。
from PIL import Image
import os
# 指定目录和目标大小
directory = 'path/to/images'
target_size = (300, 300)
# 遍历目录中的所有图片
for filename in os.listdir(directory):
if filename.endswith('.jpg') or filename.endswith('.png'):
filepath = os.path.join(directory, filename)
try:
# 打开图片
img = Image.open(filepath)
# 缩放图片
img.thumbnail(target_size)
# 保存图片
img.save(filepath)
print(f"Resized {filename}")
except:
print(f"Failed to resize {filename}")
上記のコードでは、最初に処理するディレクトリと目標サイズを指定しています。次に、os.listdir()関数を使用してディレクトリ内のすべてのファイルを走査し、”.jpg”または”.png”で終わる画像ファイルを選択します。
各画像ファイルに対して、PILライブラリのImage.open()関数を使って画像を開き、次にthumbnail()関数で画像を目標サイズに縮尺します。最後に、save()関数を使って修正した画像を保存します。
画像が非常に大きい場合や数が多い場合は、処理速度を速めるためにマルチスレッドや並列処理を考慮すると良いでしょう。