Pillow(PIL)

【Python/Pillow(PIL)】画像の回転

Pillowで画像(画像データ)を拡大/縮小するには、Imageクラスのrotateメソッドを用います。

構文

Image.rotate(angle, resample=0, expand=0, center=None, translate=None, fillcolor=None)

パラメータ

引数名 説明
angle 回転角度を度数(°)で指定します。
resample 回転時の補間方法を指定します。
Image.NEAREST
Image.BILINEAR
Image.BICUBIC
(参考)画像のリサイズ、補間指定
expand Trueのとき、画像が回転しても画像全体が表示されるよう画像サイズを拡張します。
False(初期値)のとき、画像が回転するしたときにはみ出した部分が切り取られます。
ただし、画像回転の中心は画像の中心で、平行移動が無い事を想定しています。
center 回転の中心座標を(x, y)のタプルで指定します。
初期値:画像の中心
translate 回転後の移動量を(Tx, Ty)のタプルで指定します。
fillcolor 画像の外側の色を指定します。
初期値:黒
戻り値 回転した画像(PIL.Image)

サンプル

from PIL import Image

# 画像を開く
img = Image.open("image.bmp")

# 画像を回転する
img_rotate = img.rotate(30)

# 回転した画像の保存
img_rotate.save("image_rotate.bmp")

(実行結果)

Pillow 画像の回転 Pillow 画像の回転
元画像 回転画像

画像がはみ出さないようにする

expand = True に設定することで、画像がはみ出さないよう、画像サイズを自動で拡張し調整します。

(例)

img_rotate = img.rotate(30, expand = True)

(結果)

Pillow 画像の回転

画像の外側の色の指定

画像の外側の色をfillcolorに指定します。

(例)

img_rotate = img.rotate(30, fillcolor = "Blue")

(結果)

Pillow 画像の回転

参考

Image Module
The Image module provides a class with the same name which is used to represent a PIL image. The module also provides a number of factory functions, including f...
Concepts
The Python Imaging Library handles raster images; that is, rectangles of pixel data. Bands: An image can consist of one or more bands of data. The Python Imagin...

 

コメント

タイトルとURLをコピーしました