Tutorialに学ぶPillowの使い方①(Visualizing linear relationships)|Pythonによる可視化入門 #9

f:id:lib-arts:20191219181032p:plain

連載の経緯は#1をご確認ください。

Matplotlibの使い方①(plt.plot、plt.scatter、plt.hist)|Pythonによる可視化入門 #1 - lib-arts’s diary

#1〜#4まではMatplotlibに関して、#5〜#8まではseabornについてまとめました。

Matplotlibの使い方①(plt.plot、plt.scatter、plt.hist)|Pythonによる可視化入門 #1 - lib-arts’s diary

Tutorialに学ぶseabornの使い方①(概要&Visualizing statistical relationships)|Pythonによる可視化入門 #5 - lib-arts’s diary
#9からはPythonの描画ライブラリであるPillowについて取り扱います。PillowはPIL(Python Imaging Library)のforkとされています。
以下目次になります。
1. Pillowの概要とチュートリアルの紹介
2. Using the Image class
3. まとめ


1. Pillowの概要とチュートリアルの紹介
1節ではPillowの概要とチュートリアルの紹介について行います。WikipediaのPIL(Python Imaging Library)の記載にPillowに関する記述があるのでまずはこちらをご紹介します。

f:id:lib-arts:20191219181612p:plain

Python Imaging Library - Wikipedia

上記によると、Pythonにおいて各種形式の画像ファイルの読み込み、操作、保存の機能を提供するライブラリとしてPIL(Python Imaging Library)が開発されており、Pillowはその後継としてPython3のサポートなども追加しているとされています。基本的な理解としてはPythonにおいて画像を取り扱うためのライブラリであると抑えておくと良さそうです。
大体の概要はつかめたので、次はドキュメントに記載されているチュートリアルについて確認していきます。

f:id:lib-arts:20191219182033p:plain

Tutorial — Pillow (PIL Fork) 6.2.1 documentation

上記がPillowのドキュメントのチュートリアルになります。詳しくは2節で確認していきます。

大枠の概要についてつかむことができたので1節はここまでとします。

2. Using the Image class
2節ではチュートリアルの一つ目の項目である、"Using the Image class"について確認していきます。

f:id:lib-arts:20191219182314p:plain

Tutorial — Pillow (PIL Fork) 6.2.1 documentation

冒頭部の記載を簡単に確認すると、『PILの最も重要なクラスはImageクラスである』とされています。このImageクラスのインスタンスを生成する方法はいくつかあり、外部ファイルから画像をロードする方法や他の画像を加工する方法、ゼロから画像を生成していく方法などがあげられています。
あまり詳しく説明を確認するとわからなくなるので、早速動かしてみます。

f:id:lib-arts:20191219181032p:plain

以下、上記のファイルを"Python_logo.png"として同一ディレクトリ下に保存して実行を行っていくものとします。まずは画像の読み込みと属性の確認を行ってみます。

from PIL import Image
from __future__ import print_function

im = Image.open("Python_logo.png")
print(im.format, im.size, im.mode)

上記を実行すると実行結果は下記になります。

f:id:lib-arts:20191219183441p:plain

formatメソッド(im.format)では画像の形式、sizeメソッド(im.size)では画像のサイズ、modeメソッド(im.mode)ではRGBなどの情報についてそれぞれ値を返してくれます。またこの時、im.show()を実行することで画像を表示することができます。

f:id:lib-arts:20191219193814p:plain

このように別ウィンドウを生成して画像の表示を行ってくれます。

"Using the Image class"については一通り確認できたので2節はここまでとします。


3. まとめ
#9ではPillowの概要とチュートリアルの紹介、またチュートリアルの確認として、"sing the Image class"の内容を確認しました。
#10では"Reading and writing images"は飛ばし、"Cutting, pasting, and merging images"以降の内容を確認していきます。