プログラミング言語であるPythonのメリットは、様々なライブラリを使えるということなどが挙げられます。そして、数あるライブラリの中で、「画像処理」の分野で利用されることが多いのは、Pillow(PIL)です。
今回は、そのPillow(PIL)について、できることやインストール方法、使い方などを詳しく解説します。
画像処理に使われるPythonライブラリPillow(PIL)
Pillow(PIL)とは、Pythonで使用できる「画像処理ライブラリ」のひとつです。具体的には、画像の読み込みやファイルデータの取得といった、簡単な画像処理に適しています。
データのリサイズやトリミングなどの編集もできるため、活用できる場面は多いでしょう。Pythonは、AI開発のための機械学習で使用されることが多いプログラミング言語ですが、画像認識AIの開発でも、Pillow(PIL)は使用されることがあります。
Pythonのその他のライブラリについてはこちらの記事で解説しています。
OpenCVとの違い
Pillow(PIL)はしばしば、同様の画像処理ライブラリである「OpenCV」と比較されますが、それぞれ使用する目的が異なります。例えばOpenCVは、顔認識をする場合などの高度な画像処理に使用するケースが多いでしょう。
それに対してPillow(PIL)は、OpenCVほど機能は豊富ではありません。
しかし、使い勝手が良く、少ないコードで画像処理ができるため、初心者でも早めに使いこなせる可能性が高いでしょう。また、使用する情報量が少ないため、レスポンスが速いというメリットもあります。
したがって、情報量が多い高度な処理はOpenCV、簡単な処理はPillow(PIL)と、使い分けるPythonユーザーも多いのです。
OpenCVについてはこちらの記事で詳しく解説しています。
PillowとPILの違いとは?
PillowとPILは、厳密には別のライブラリを指します。どちらも画像処理のライブラリですが、「PIL」のほうは2011年に開発が終了しています。そして、PILの後継ライブラリとして開発が始まったのが、「Pillow」です。
このPillowのほうは今のところ開発が進められており、新しいバージョンも提供されて続けています。そのため、将来的に新しいバージョンとしてPythonがリリースされた場合、それに対応できるのはPillowの方といえるでしょう。
開発が終わっているPILは、いつ対応不可になってもおかしくはありません。基本的な機能や使用目的には大差はないので、Pillowを使用した方が無難でしょう。
ライブラリ名とパッケージ名という違い
新しいバージョンは「PIL」ではなく「Pillow」ですが、PillowをPythonにインストールした場合、パッケージ名は「PIL」となります。そのため、Pillowを使用するために呼び出す場合は、PILという名前を使わなければなりません。
したがって、PillowとPILには、ライブラリ名とパッケージ名という違いもあることも、覚えておきましょう。
PythonのPillow(PIL)をインストールする基本的な方法
それでは、すでにWindowsのパソコンにインストールされている状態のPythonに、Pillow(PIL)をインストール方法を解説していきます。
おおまかなPillow(PIL)のインストールの手順は以下の通りです。
- コマンドプロンプトを開く
- pipを使用してPillow(PIL)をインストール
- インストールされていることを確認
Pythonのインストール方法についてはこちらの記事で解説しています。
コマンドプロンプトを開く
Windowsで操作する場合は、コマンドプロンプトを使用してPillow(PIL)をインストールします。デスクトップ画面やスタートメニューにある検索ボックスに「cmd」と入力して、コマンドプロンプトを立ち上げてください。
pipを使用してPillow(PIL)をインストール
Pillow(PIL)をインストールするためには、Pythonの管理ツールであるpipを使用します。
使用するためには、コマンドプロンプトへ、「pip install Pillow」と入力し、エンターを押してください。そうすると、インストールは完了します。
インストールされていることを確認
ひと通りの手順が完了したら、問題なくPillowがインストールされた状態であるかを確認しましょう。まず、コマンドプロンプトに、「pip list」と入力します。
そうすると、インストールされているライブラリのバージョンがリストアップされるはずです。その中に「Pillow」の文字があれば、特に問題なくインストールは完了しているでしょう。
Pillow(PIL)をインストールできないときの対処法
コマンドプロンプトで「pip」を使用して、Pillow(PIL)をインストールしようとした際に、何らかのエラーが発生することがあるかもしれません。では、エラーが発生してしまってインストールできない時にどうすれば良いのか、解説します。
管理者権限としてコマンドプロンプトを開く
Pillow(PIL)をインストールするために使用するコマンドプロンプトは、管理者権限として操作をしなければなりません。そして、通常の手順では、管理者権限がない状態でコマンドプロンプトが開かれる場合もあるでしょう。
そういった場合は、pipを使ったインストールが正常にできないかもしれません。したがって、検索ボックスの結果で出てきたコマンドプロンプトを開く際は、一旦右クリックをして「管理者として実行」のメニューから開くと良いでしょう。
pipをアップデートする
pipが古い場合、新しいバージョンのPillow(PIL)をインストールできない恐れがあるでしょう。そのため、Python本体をインストールしてからしばらく経っているのであれば、pipを最新版にアップデートしてみましょう。
コマンドプロンプトを開いて、「pip install –upgrade pip」と入力します。そうするとpipが最新バージョンになるため、改めてPillow(PIL)のインストールを試してみましょう。
既存のPILをアンインストールする
Python本体のバージョンによっては、あらかじめPILがインストールしてある場合があるかもしれません。そして、そのPILとインストールしようとしているPillow(PIL)が同ライブラリだと認識されれば、インストールすることができないこともあるでしょう。
そのため、まずはPILを一旦アンインストールしてみましょう。まずは、コマンドプロンプトに「pip uninstall PIL」と入力してアンインストールします。その後で、改めてインストールの手順を試してみてください。
PythonのPillow(PIL)の基本的な使い方
Pillow(PIL)を使用すれば、色々な画像処理ができるようになります。その中でも、基本的な使用方法について、確認していきましょう。今回は、いずれもコマンドプロンプトを使用する形で、解説していきます。
保存してある画像の読み込み
Pillow(PIL)の機能の中で、最も基本と言える機能です。「Image.open」というコマンドを使用しますが、まずは「Image」をインポートしておく必要があるでしょう。
まずは、最初に「from PIL import Image」というコマンドを入力してください。そして、その後「img = Image.open(“画像タイトル.形式“)」を入力しましょう。
そうすると、Python内に指定した画像が読み込まれ、様々な処理をすることができるようになるでしょう。どの作業をする際にも、「from PIL import Image」と「img = Image.open(“画像タイトル.形式“)」の2つは欠かせません。
画像の回転
Pillow(PIL)の中でも使いやすい機能が、「rotate」モジュールを使用した「画像の回転」です。例えば、画像を読み込んだ状態で「img_rotate = img.rotate(90)」と入力すると、その画像が反時計回りに90度回転するでしょう。
また、「img_rotate = img.rotate(45)」と入力した場合では画像が斜めに傾いた状態、「img_rotate = img.rotate(180)」では上下逆さまという風に、引数として入力する数値によって回転する角度を変更可能です。
画像をリサイズする
「画像のリサイズ」は、Pillow(PIL)の機能の中でも、使用される頻度が高いでしょう。リサイズの方法は、「サイズを数値で指定する方法」と、「元画像を基準としたリサイズ」の2通りに分かれます。
数値指定する場合は、画像を読み込んだ状態で、「img_resize = img.resize((100, 150))」と入力します。そうすると、横が100ピクセル、縦が150ピクセルの画像になるはずです。
一方、元画像を基準にしたいのであれば、「resized_img = img.resize((img.width * 4, img.height * 6))」という風に入力します。この例でできあがるのは、元画像を横に4倍、縦に6倍した画像です。
また、サイズを画像より小さくする場合は、「*」ではなく「//」を使用します。例えば、元画像を上下共に半分にする画像を作るには、「resized_img = img.resize((img.width // 2, img.height // 2))」と入力しましょう。
画像の保存
Pillow(PIL)で画像を編集したとしても、そのままでは保存されていません。出来上がった画像を保存するには、編集作業に合わせて「save」モジュールを使用する必要があるでしょう。
例えば、リサイズ後に保存する場合、「img_resize.save(“新規ファイル名.形式“)」と入力して保存しておく必要があります。「()」の内部に入力する引数次第では、編集後の画像を保存する場所や、画質なども指定可能です。
Pythonのライブラリの使い方をマスターしたい方にはAI研究所のPython基礎セミナー講習がおすすめです。2日間で実務で使えるスキルをマスターできます。
Pythonで手軽に画像処理を行いたい場合はPillow(PIL)を
Pythonでは、「OpenCV」を始めとした、様々な画像処理ライブラリが使えます。しかし、数あるライブラリの中でも、動作が軽く、画像のリサイズやトリミングを行うことに適しているのは「Pillow(PIL)」のほうでしょう。
そのため、手軽に画像処理を行いたいのであれば、Pillow(PIL)をインストールすると良いでしょう。