やりたいこと
写真を一括で中心から正方形にトリミングする。
画像処理ライブラリPillowのインストール
pipでインストール
$ pip install Pillow
トリミング
下記のディレクトリ構成でimgディレクトリ内のjpg画像をトリミングしてtrimedディレクトリに保存する。
.
├── img
├── trimmed
trim.py
ソースコード
from PIL import Image
from pathlib import Path
# 元画像が入ったディレクトリ
p = Path('img/')
src_img_list = list(p.glob('*.jpg'))
# トリミングのサイズ(ピクセル)
new_size = 400
for i, src_img in enumerate(src_img_list):
# 画像読み込み
img = Image.open(src_img)
# 中心座標を計算
center_x = int(img.width / 2)
center_y = int(img.height / 2)
# トリミング
img_crop = img.crop((center_x - new_size / 2, center_y - new_size / 2, center_x + new_size / 2, center_y + new_size / 2))
# トリミングした画像を保存
img_crop.save('trimmed/photo' + str(i) + '.jpg', 'JPEG', quality=100, optimize=True)