はじめに
印刷の現場やウェブの制作の現場で画像を使うことが多いと思いますが、大量の画像をリサイズしたいといったケースがあるかと思います。
今回は、そんな時に使えるPythonのライブラリを見つけたのでシェアしたいと思います。
結論
いきなりですが、完成したコードの画像を先に紹介します。
どうでしょうか?
非常にシンプルなコードで、あるフォルダ内にある画像ファイルすべてを別のフォルダに一括でリサイズできます。
それでは、少しずつ解説していきたいと思います。
ステップ
まず、今回のコードの内容のステップを説明します。
- ライブラリのインストール
- 必要なライブラリのインポート
- フォルダの指定
- 画像ファイルを開く
- 開いた画像をリサイズする
- リサイズした画像を保存する
- ④、⑤をフォルダ内の画像ファイル数分繰り返す
それでは、一つずつ解説します。
解説
それでは、コードの説明と流れを説明します。
まず、今回もGoogleのColaboratoryのエディタを使っていきたいと思います。
- STEP
ライブラリのインストール
pip install Pillow
- STEP
必要なライブラリのインポート
import os //ファイルやフォルダ操作 from PIL import Image //PillowからImageをインポート from google.colab import drive,files //Googleドライブとの連携 drive.mount("/content/drive")
上記のようなコードを入力します。
- STEP
フォルダの指定
dir_name = "/content/drive/My Drive/photo" //画像が入っているフォルダ new_dir_name = "/content/drive/My Drive/resize" //保存する先のフォルダ
- STEP
画像ファイルを開く
files = os.listdir(dir_name)
photo = Image.open(os.path.join(dir_name, file))
- STEP
開いた画像をリサイズする
photo_resize = photo.resize((300,300))
- STEP
リサイズした画像を保存する
photo_resize.save(os.path.join(new_dir_name, file))
- STEP
STEP4~6を繰り返す
for file in files: photo = Image.open(os.path.join(dir_name, file)) photo_resize = photo.resize((300,300)) photo_resize.save(os.path.join(new_dir_name, file))
さいごに
pip install Pillow
import os
from PIL import Image
from google.colab import drive,files
drive.mount("/content/drive")
dir_name = "/content/drive/My Drive/photo"
new_dir_name = "/content/drive/My Drive/resize"
files = os.listdir(dir_name)
for file in files:
photo = Image.open(os.path.join(dir_name, file))
photo_resize = photo.resize((300,300))
photo_resize.save(os.path.join(new_dir_name, file))