Pillow概要
PillowとはPythonのプログラミング言語を使用したオープンソースのイメージ処理ライブラリです。
映像処理、画像処理などの画像情報を扱うことができます。
例えば、サイズ変更、画像の加工などを行うことが可能です。
Python環境でPillowを使用できるようにする
pipコマンドでPillow
をインストールします
pip3 install Pillow
Pillowを使用し画像ファイルを開く
画像ファイルは実行するPythonソースと同じ階層にあるとします。
下記ソースを実行し画像が開かれれば成功です。
from PIL import Image
img = Image.open('sample.jpg')
img.show()
Pillowを使用した様々な処理
Pillowを使用した様々な処理について一部紹介させていただきます。
・反転FLIP_TOP_BOTTOMが上下反転で
FLIP_LEFT_RIGHTが左右反転になります。
from PIL import Image
img = Image.open('sample.jpg')
new_img = img.transpose(Image.FLIP_TOP_BOTTOM)
new_img.show()
・文字合成
from PIL import Image, ImageDraw, ImageFont
img = Image.open('sample.jpg')
draw = ImageDraw.Draw(img)
font = ImageFont.truetype('/Library/Fonts//Arial Unicode.ttf', 32)
draw.text((0, 0), 'Coffee', fill=(26, 39, 146),font=font)
img.show()
・白黒処理
from PIL import Image
img = Image.open('sample.jpg')
new_img = img.convert('L')
new_img.show()
・図形線画
from PIL import Image,ImageDraw
img = Image.open('sample.jpg')
draw = ImageDraw.Draw(img)
draw.rectangle(
[(100, 100), (500, 500)],
fill=(0, 0, 123),
outline=(0, 0, 0),
width=10
)
img.show()
・gif画像
実行するPythonソースと同じ階層にあるjpgファイルを元にgitを作成しています。
from PIL import Image
from glob import glob
files = glob("*.jpg")
images = []
for f in files:
images.append(Image.open(f))
images[0].save('pillow_imagedraw.gif', save_all=True, append_images=images[1:], optimize=False, duration=1000, loop=0)
複数の画像を用意するのは少々面倒ですが、Pillowを使用することで簡単なアニメーションの作成を行うことが出来ます。