【Python】Pillowで画像を比率指定で一括リサイズする

WEB・Program

 

画像の一括リサイズ

カメラで撮影した画像などはサイズが大きくそのままでは扱いづらいです。画像の解像度を下げることでファイルサイズが小さくなり私の持っている非力なPCでも編集等行いやすくなります。
前回は画像の縦横ピクセル数を絶対値で指定することで一括リサイズしました。

https://salapy.xyz/python-size-specification/

今回は縦横を圧縮する比率で指定し一括リサイズしていきます。

作成したプログラム

わかりやすいようプログラム中にコメントを入れました。
フォルダ構成は下記のとおりです。

resize
│  resize.py
│
└─img
512x512org.jpg

プログラム:

import os
import glob
from PIL import Image
# imgフォルダにある.jpgファイルリストをすべて取得
img_files = glob.glob('img/*.jpg')
# 縦横をいくつで割るか
proportion = 2
# 取得したすべての.jpgファイルに対して処理を実行
for f in img_files:
# PILで画像を開く
img = Image.open(f)
# imgのwidthとheightをproporionで割りリサイズしたimg_resizeを生成
img_resize = img.resize((int(img.width/proportion),int(img.height/proportion)))
# 保存するためのファイル名等を処理する
fname, fext = os.path.splitext(f)
# 保存場所とファイル名拡張子までsaveに渡す
f_output = fname + '_resize'+ str(proportion) + fext
img_resize.save(f_output)
# 実行結果をprint出力
print(f + "\t----->\t" + f_output)

WordやPowerPointに貼り付けることを考えて、画像はいつも圧縮したものも保存するようにしています。

コメント

タイトルとURLをコピーしました