Pillow とは
Python の画像処理ライブラリ。
使い方
$ pip install Pillow
読み書き
from PIL import Image
# 読み込み
img = Image.open('path/to/sample.png')
# 何らかの処理
img2 = ...
# 書き込み
img2.save('path/to/sample_new.png')
情報の取得
# サイズ
img.size # (1830, 806)
# フォーマット
img.format # PNG
# モード
img.mode # RGBA
# 指定したピクセルの色
getpixel((501, 420)) # (154, 180, 121, 255)
リサイズ
img_resized = img.resize((256, 128), Image.LANCZOS)
回転
# 左回りに90度
img_rotated = img.rotate(90)
- 画像サイズは変化しない
- 縦横比が異なる画像を回転させる場合、180の倍数を指定しなければ空白ができる
フィルタ
from PIL import Image, ImageFilter
img.filter(ImageFilter.GaussianBlur())
モード変換
img_rgba = Image.open('path/to/sample.png')
img_rgb = img_png.convert('RGB')
画像を重ねる
# 画像1の上に画像2を貼り付け
# 上書きされるため元画像を残す場合は copy した画像を使う
img1.paste(img2)
# 貼り付け位置を指定
img1.paste(img2, (1000, 200))
# マスク画像を利用して任意の形で貼り付け
base = Image.new("RGBA", img1.size, 0)
base.paste(img2, (1000, 200))
mask = Image.new("L", img1.size, 0)
draw = ImageDraw.Draw(mask)
draw.ellipse((1000, 200, 1000+img2.size[0], 200+img2.size[1]), fill=255)
img1.paste(img2, (0, 0), mask)