フォルダ内の画像に自動で枠線をつける
下地が白い画像を貼ると境界が分からないので枠線を付けたくなりますが手動ではうまいやり方がありません。そこでフォルダ内のすべての画像に指定した色で枠線を付けます。
環境
- windows10 home
- Anaconda 3/ jupyter notebook 5.6.0
- Python 3.7.0
- Pillow 5.2.0
準備
画像ファイルはいらすとやからダウンロードさせていただき、jupyter notebookファイル(***.ipynb)と同じディレクトリの内に'photo'フォルダを作りその中に保存しました。
コード
import os from PIL import Image, ImageDraw color = (0, 128, 0) # 枠線の色(R,G,B)で指定 dir_path = 'photos/' # 画像ファイルのあるフォルダの相対パス files = os.listdir(dir_path) # フォルダ内のファイルのリスト生成 # ファイル名を1つずつ取り出して処理 for i in files: im = Image.open(dir_path + i) w, h = im.size draw = ImageDraw.Draw(im) draw.rectangle((0, 0, w-1, h-1), outline = color) filename = i.split('.')[0] file_ext = i.split('.')[1] im.save(dir_path + filename + '_frame.' + file_ext)
実行結果
画像に枠線がつけられます。
以下のサイトを参考にさせていただきました
Pythonの文法メモ > 【Pillow】ImageDrawモジュールによる直線、四角、円、多角形描画