https://pillow.readthedocs.io/
Pillowは、リサイズやトリミングなどの基本的な処理を行う Python の画像処理ライブラリです。Pythonには画像認識などの高度な画像処理を行う OpenCV というライブラリもありますが、NumPy との連携(画像をNumPyの配列ndarrayとして読み込む)により、画素値ごとの算術演算が可能になります。
Python 言語のライブラリとしてのインストールになるので、一般の Python3 の環境であれば、Terminalから以下のコマンドでインストールできます。
$ pip3 install pillow
import する際は、以下のように記述するのが一般的です。
from PIL import Image
開発が停止しているPIL(Python Image Library)からフォークされたライブラリで、import する際は、pillow ではなく 従来どおり PIL と記述します。
Google Colaboratory では Jupyter Notebook で利用できるライブラリーが「すべてインストール済み」という前提なので、ローカル環境での作業のように、必要なライブラリのインストールを行う必要はなく、コードセルに import 文を書くだけで使うことができます。
from PIL import Image, ImageFilter img = Image.open('path/to/xxxxx.png')
print(img.format, img.size, img.mode) # PNG (800, 600) RGB
print(img.getpixel((256, 256))) # (180, 65, 72)
from PIL import Image, ImageOps img = Image.open(''path/to/xxxxx.jpg'') img_invert = ImageOps.invert( img )
img.show()
img.save('path/to/xxxx.jpg', quality=95)
from PIL import Image, ImageDraw, ImageFont img = Image.new("RGB", (512, 512), (255, 255, 255) )
draw = ImageDraw.Draw(img)
font = ImageFont.truetype( '/path/to/Fonts/xxxxxx.otf' , 36 ) draw.multiline_text( (0, 0), 'Hello Pillow!', fill=(0, 0, 0) , font=font )
draw.line( (0, img.height, img.width, 0) , fill=(0, 0, 255), width=4 ) draw.rectangle( (100, 100, 200, 200) , fill=(0, 255, 0) ) draw.ellipse( (200, 200, 300, 200) , fill=(255, 0, 0) )
img.show()
img.save('path/to/xxxx.jpg', quality=95)
画像を読み込んで2値化するプログラムです。
詳細:https://pillow.readthedocs.io/en/stable/reference/index.html