Pythonで画像を読み込み、表示し、保存する(Pillow編)
PythonのPillow(PIL)モジュールで、画像ファイルの読み込みと、表示と、保存をしてみます。
目次
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で画像処理カテゴリの投稿
- Python (Pillow)でグラデーション画像を作る
- PythonでGIFアニメを作る(PILでファイルをつなげる編)
- PythonでOpenCVの画像データをMatplotlibで表示する
- PythonでPDFを画像に変換する(Windows10)
- PythonでPSDファイルをJPEGやPNGに変換する
- Pythonでカラー画像をグレイスケールに変換する(OpenCV編)
- Pythonでフォルダ内に同じ画像がないか検索してみた
- Pythonでマスク画像を作る方法(3選)
- Pythonで図形の外接矩形を描く(OpenCV編)
- Pythonで図形の輪郭の大きさを調べる(OpenCV編)
- Pythonで画像の余白を削除する(OpenCV編)
- Pythonで画像の余白を削除する(Pillow編)
- Pythonで画像の大きさやフォーマットを調べる(Pillow編)
- Pythonで画像の減色をする
- Pythonで画像をトリミングする(Pillow編)
- Pythonで画像を他の画像にペーストする(Pillow編)
- Pythonで画像を回転する(Pillow編)
- Pythonで画像を拡大縮小(リサイズ)する(Pillow編)
- Pythonで画像を読み込み、表示し、保存する(OpenCV編)
- Pythonで画像を読み込み、表示し、保存する(Pillow編)
- Pythonで画像を2値化する(OpenCV編)
- Pythonで記号の輪郭を検出する(OpenCV編)
- PythonとOpenCVで画像をグレースケールに変換してみた
- PythonとOpenCVで画像をネガポジ反転してみた