Pythonで画像を拡大縮小(リサイズ)する(Pillow編)
PythonのPillow(PIL)モジュールを使用して、画像のリサイズ(拡大・縮小)をします。
目次
- Pillowモジュール
- サンプルに使用する画像
- 縮小例
- 拡大例(NEAREST)
- 拡大例(BOX)
- 拡大例(BILINEAR)
- 拡大例(HAMMING)
- 拡大例(BICUBIC)
- 拡大例(LANCZOS)
- 元画像の一部を拡大した例
Pillowモジュール
Pillow(PIL)モジュール はPythonで画像を扱うときに使う便利なモジュールです。
リサイズ(拡大・縮小)をするには、resizeメソッドを使用します。
resized = im.resize(size, [resample], [box])
変数 |
型 |
内容 |
---|---|---|
im |
Image |
リサイズされる元の画像のImageオブジェクト。 |
size |
tuple |
リサイズ後の画像のサイズ。(幅, 高さ)で指定する。 |
resample |
省略可。既定値は0(PIL.Image.NEAREST)。補間方法。 |
|
box |
tuple |
省略可。既定値はNone。拡大する範囲の指定。 |
resized |
Image |
リサイズされた画像のImageオブジェクト。 |
サンプルに使用する画像
プロ生ちゃん の画像をいろいろリサイズしてみます。画像サイズは256x256です。

縮小例
128x128への縮小です。
from PIL import Image
im = Image.open('original.png')
im_resize = im.resize(size=(128,128))

拡大例(NEAREST)
384x384(元画像の1.5倍のサイズ)への拡大です。resampleを指定しないと、PIL.Image.NEARESTが適用されます。
from PIL import Image
im = Image.open('original.png')
im_resize = im.resize(size=(384,384))

拡大例(BOX)
384x384(元画像の1.5倍のサイズ)への拡大です。PIL.Image.BOXを適用した場合です。
from PIL import Image
im = Image.open('original.png')
im_resize = im.resize(size=(384,384), resample=Image.BOX)

拡大例(BILINEAR)
384x384(元画像の1.5倍のサイズ)への拡大です。PIL.Image.BILINEARを適用した場合です。
from PIL import Image
im = Image.open('original.png')
im_resize = im.resize(size=(384,384), resample=Image.BILINEAR)

拡大例(HAMMING)
384x384(元画像の1.5倍のサイズ)への拡大です。PIL.Image.HAMMINGを適用した場合です。
from PIL import Image
im = Image.open('original.png')
im_resize = im.resize(size=(384,384), resample=Image.HAMMING)

拡大例(BICUBIC)
384x384(元画像の1.5倍のサイズ)への拡大です。PIL.Image.BICUBICを適用した場合です。
from PIL import Image
im = Image.open('original.png')
im_resize = im.resize(size=(384,384), resample=Image.BICUBIC)

拡大例(LANCZOS)
384x384(元画像の1.5倍のサイズ)への拡大です。PIL.Image.LANCZOSを適用した場合です。
from PIL import Image
im = Image.open('original.png')
im_resize = im.resize(size=(384,384), resample=Image.LANCZOS)

元画像の一部を拡大した例
384x384(元画像の1.5倍のサイズ)への拡大です。元画像の一部分を切り出して拡大します。
from PIL import Image
im = Image.open('original.png')
im_resize = im.resize(size=(384,384), resample=Image.LANCZOS, box=(64,0,192,128))

公開日
広告
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で画像をネガポジ反転してみた