PythonのPillowの使い方を現役エンジニアが解説【初心者向け】

初心者向けにPythonのPillowの使い方について現役エンジニアが解説しています。PillowはPythonで画像処理を行う場合に用いられるライブラリで、他にOpenCVがあります。Pillowを使ってPythonで画像を回転させたりサイズを変更したり、グレースケール(白黒)にしたり、保存したりしてみましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

PythonのPillowの使い方について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して、初心者向けに解説します。

 

Pythonについてそもそもよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まるでしょう。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、Python講座の内容をもとに紹介しています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

PythonのPillowの使い方について詳しく説明していくね!

大石ゆかり

お願いします!

 

Pillowとは

Pillow(PIL)は画像処理ライブラリの1つです。

Pythonには画像処理を行なうことのできるライブラリがいくつかあり、よく使われるものとしてOpenCVと今回紹介するPillowがあります。

処理の内容にはよるものの、画像認識など高度な画像処理を行なうことのできるOpenCVと比較して、単純な操作や基本的な操作を行なうことができるという点がPillowの特徴です。

自分の好みやしたい処理に合わせて使うライブラリを変えてみましょう。

そして、今回はPillowを使ったかんたんな画像処理の方法を解説していきます。

 

Pillowの使い方

Pillowを使うにはインストールする必要があります。

それぞれの開発環境に応じて、

pip install Pillow

もしくは、

conda install Pillow

を実行してPillowをインストールしてみましょう。

 

続いて、Pillowの使い方をみていきます。

Pillowをプログラムで使うには、ライブラリの中の必要なモジュールをインストールする必要があります。

from PIL import Image, ImageFilter

そして、順番に、画像の読み込み・拡大縮小・回転・色の変換・保存の方法についてふれていきましょう。

 

[PR] Pythonで挫折しない学習方法を動画で公開中

画像の読み込み

画像の読み込みは、Imageモジュールのopen()関数を使います。

読み込んだ画像を扱う変数を用意して、

img = Image.open(画像ファイルのあるパス)

を実行します。

画像がちゃんと読み込めたかどうかは、show()メソッドを使って

img.show()

で表示することで確認可能です。

 

画像の加工、表示

画像の大きさを取得して拡大、縮小します。

画像の大きさを取得するには、size属性で行なうことが可能です。

print(img.size)

で画像の大きさを表示してみましょう。

 

画像の大きさが表示できたら、自分の好きな大きさに変換します。

大きさの変換はresize()メソッドを使って、

img_resize = img.resize((横の大きさ, 縦の大きさ))

のように定義し、サイズを指定して変換しましょう。

 

続いて、画像を回転させます。

画像の回転はrotate()メソッドで時計回りに回転する角度を指定して行いましょう。

img_rotate = img.rotate(90)

この場合は90度回転です。

 

画像処理の最後に、色を白黒に変換していきます。

convert()メソッドを使って、下記のように表します。

img_convert = img.convert('L')

引数に’L’を指定するのは、画像を白黒にするためです。

 

画像の保存

処理した画像を保存する場合、下記のように記述します。

img.save(保存したい場所のパス)

Pillowの詳しい使い方については、英語の公式ドキュメントを参照してみましょう。

 

実際に書いてみよう

ここでは、プログラムを書いて確認してみましょう。

適当な画像ファイルを用意して、そのファイルのパスを取得してください。

そして、以下のプログラムを実行しましょう。

 

ライブラリのインポート

>>> from PIL import Image, ImageFilter

画像の読み込み

>>> img = Image.open("画像ファイルのパス")
>>> img.show()

画像サイズの変更

>>> print(img.size)
>>> img_resize = img.resize((100,50))
>>> img_resize.show()

画像の回転

>>> img_rotate = img.rotate(90)
>>> img_rotate.show()

画像の白黒化

>>> img_convert = img.convert('L')
>>> img_convett.show()

画像の保存

>>> img_convert.save("画像ファイルを保存したい場所のパス")

以上を順番に実行していくことで、画像の読み込み・加工・保存を行なうことが可能です。

 

まとめ

この記事では、PythonのPillowと呼ばれる画像処理ライブラリの基本的な使い方について解説しました。

Pillowでは他にも様々な処理を行なうことができるため、行ないたい処理に応じて公式ドキュメントなどを参考にして使用してみましょう。

 

執筆してくれたメンター

小倉翔悟(おぐらしょうご)

AIプログラミングを使って開発を行う大学3年生。

プログラミング歴は約3年でPythonは割と得意。

好きな物理理論は一般相対性理論で動物も好き。

 

大石ゆかり

PythonのPillowの使い方が分かりやすくて良かったです!

田島悠介

ゆかりちゃん、これからも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間で、Pythonを使った人工知能(AI)や機械学習の基礎を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、参加してみてください。