Navigation

Related Articles

Back to Latest Articles

Pillowを使って画像をリサイズする


press
Pillowを使って画像をリサイズする

Pillowを使って画像をリサイズする方法です。
GitHubリポジトリ

Pillowのインストール

$ pip install Pillow

バージョン確認

$ python -V
Python 3.7.0

$ pip freeze
Pillow==6.0.0

ディレクトリ構造

.
├── resize.py
├── resizeimages  # リサイズした画像の保存フォルダ
├── images  # 元画像フォルダ
└── venv

画像をリサイズ

from PIL import Image
from datetime import datetime
from time import sleep
import glob

files = glob.glob('./images/*')

for file_name in files:

    if file_name.endswith(('.png', '.jpeg', '.jpg')):
        img = Image.open(file_name)
        img.thumbnail((500, 500), Image.ANTIALIAS)
        time = datetime.now().strftime('%Y%m%d%H%M%S')
        path = './resizeimages/' + time+'.jpg'
        img.save(path, 'JPEG', quality=100,  optimize=True)

        sleep(1)

    else:
        pass

files = glob.glob('./images/*')
imagesフォルダ全ファイルを取得
if file_name.endswith(('.png', '.jpeg', '.jpg')):
拡張子が’.png’、’.jpeg’、’.jpg’かどうか判定
img = Image.open(file_name)
取得した画像を開く
img.thumbnail((500, 500), Image.ANTIALIAS)
画像の比率はそのままリサイズ
time = datetime.now().strftime('%Y%m%d%H%M%S')
画像ファイルのネーミング用に現在時間を取得
path = './resizeimages/' + time+'.jpg'
保存用のパスを指定
img.save(path, 'JPEG', quality=100, optimize=True)
画像を保存
sleep(1)
1秒間スリープさせる
(スリープしないとネーミングの際に同時刻になってしまって全て書き出せない)


当ブログは群馬県でPython / Djangoを中心にウェブアプリケーションを開発している株式会社ファントムが運営しています。

株式会社ファントムへのお問い合わせ




    Show Comments (0)

    Comments

    Related Articles

    Python

    複数の画像からgifアニメーションを作る

    複数の画像からgifアニメーションを作る 定点撮影などで連番になっている複数の画像をまとめてgifアニメーションに変換する方法です。 コードはGitHubリポジトリにあげています。 コード 結果 解説 import gl […]

    Posted on by press
    Django

    pandasで読み込んだCSVの値がNaNだったときの対処方法

    DjangoのWEBプリケーションでCSVをpandasで読み込んでforで一行ずつループ処理をしたところ、毎回決まったところで決まったエラーが出たのでPyCharmのデバッグ機能を使って原因を調べた内容です。 プログラ […]

    Posted on by press