【Python】画像ファイルをリサイズ(+圧縮)方法【実績記録】
先人の知恵を拝借してうまくいったことを残す記事です。
まず、参考にさせて頂いたWebページから紹介させて下さい。
参考ページ紹介
- note.nkmk.me:Python, Pillowで画像を一括リサイズ(拡大・縮小)
- AI研究所:PythonライブラリPillow(PIL)のインストール方法!できないときの対処法も解説
- Qiita:Pillow resize と thumbnail の違い
流れ
- Pillowインストール
- サイズ変更(今回はthumbnailで)
作業メモ
元データ:1000px * 1000px、 298KB jpg
サイズ変更後:500px * 500px、 30KB jpg
Pillowインストール
% pip install Pillow
Collecting Pillow
Downloading pillow-10.4.0-cp312-cp312-macosx_11_0_arm64.whl.metadata (9.2 kB)
Downloading pillow-10.4.0-cp312-cp312-macosx_11_0_arm64.whl (3.4 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.4/3.4 MB 43.9 MB/s eta 0:00:00
Installing collected packages: Pillow
Successfully installed Pillow-10.4.0
% pip list
Package Version
------- -------
pillow 10.4.0
pip 24.2
サイズ変更(今回はthumbnailで)
% cat Test.py
from PIL import Image
filedir = "/Users/XXX(UserName)/Library/Mobile Documents/com~apple~CloudDocs/Downloads/"
filename_org = "test.jpg"
filename_new = "test2.jpg"
test_img = Image.open("{0}{1}".format(filedir, filename_org))
test_img.thumbnail(size=(500, 500))
#test_img.thumbnail(size=(500, 500),resample=Image.LANCZOS, interpolation=INTER_AREA)
# → 色々工夫しても変わらず。デフォルトと同じか
test_img.save("{0}{1}".format(filedir, filename_new,quality=95))
動作確認
% python Test.py
関連記事