Pythonで画像を読み込み、表示し、保存する(Pillow編)

PythonのPillow(PIL)モジュールで、画像ファイルの読み込みと、表示と、保存をしてみます。

目次

  1. Pillow(PIL)モジュールとは
  2. 画像の読み込み
  3. 画像の表示
  4. 画像の保存

Pillow(PIL)モジュールとは

Pythonで画像を扱うときのモジュールの一つです。変換がたくさんあって便利です。

Pillow では、画像をImageクラスのオブジェクトとして扱います。

画像の読み込み

画像ファイルからファイルを読み込むときはopenメソッドを使用します。

img = PIL.Image.open(fp, [mode])
変数 内容
fp str 画像ファイルのファイルパス。または、ファイルオブジェクト。
mode srt 省略可。既定値はr。ファイルアクセスのモード。
img Image 読み込んだ結果のオブジェクト。

基本的に読み込みに使いますので、モードはrですね。

画像の表示

Imageオブジェクトを表示するにはshowメソッドを使用します。

img.show([title], [command])
変数 内容
img Image 表示したい画像オブジェクト。
title srt 省略可。既定値はNone。表示するウィンドウのタイトル。
command str 省略可。既定値はNone。表示する際に使用するコマンド。

Windwosの場合はImageがBMP形式で一時保存されて、そのBMPファイルが新しいウィンドウで表示されます。commandを省略すると既定のプログラムで表示されるのですが、私の環境(Windows10)ではcommandを指定しても既定のプログラム(フォト)で表示されてしまいます。

>>> from PIL import Image
>>> img = Image.open('original.png')
>>> img.show()
表示例

画像は プロ生ちゃん です。

画像の保存

Imageオブジェクトを保存するには、saveメソッドを使用します。

img.save(fp, [format], [params])
変数 内容
img Image 保存したい画像オブジェクト。
fp srt 保存するファイルのパス。
format srt 省略可。既定値はNone。ファイルフォーマット。
params   省略可。既定値はNone。フォーマット毎に異なるパラメータ。

formatを指定しない場合は、ファイルパスの拡張子からフォーマットを自動的に選択します。

paramsはPNGやJpegなどの画像フォーマットに特有のパラメータを指定する際に使用します。詳しくは 公式のドキュメント を参照してください。

>>> from PIL import Image
>>> img = Image.open('original.png')
>>> img.save('test.png')
保存例

広告

Pythonで画像処理カテゴリの投稿