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

変換できない文字が混ざった文字列をShift-JISに変換する

テキストファイルやCSVファイルに書き出す時に文字コードをShift-JISに指定して書き出すとエラーになる場合があります。よく見るのが、-や を変換した時に出るエラーで\uff0dや\xa0と表示されます。 […]

Posted on by press
Python

気象庁の天気予報をBeautifulSoup4でスクレイピング

気象庁の天気予報をBeautifulSoup4でスクレイピングします。サンプルとして群馬県の週間天気予報(場所、日付、曜日、最高気温、最低気温)を取得します。 コードはGitHubリポジトリにあげています。 週間天気予報 […]

Posted on by press