3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Pillowで画像をいじってみた

Last updated at Posted at 2020-03-31

Pillowとは?

Pythonの画像処理ライブラリです。
https://pillow.readthedocs.io/en/stable/

今回の環境

  • Jupyter Notebook 5.7.8
  • Pillow 5.4.1
  • Matplotlib 3.0.3

準備

パッケージをインポートします。

from PIL import Image
import matplotlib.pyplot as plt
%matplotlib inline

とりあえず画像を表示させる

lena = Image.open("./lena.png")
type(lena)
出力
PIL.PngImagePlugin.PngImageFile
fig, ax = plt.subplots()
ax.imshow(lena)
plt.title("Lena Color")
plt.show()

lena_color.png

グレースケール化してみる

lena_gray = lena.convert("L")
type(lena_gray)
出力
PIL.Image.Image
fig, ax = plt.subplots()
ax.imshow(lena_gray)
plt.title("Lena Gray")
plt.show()

lena_gray_1.png

変な色になりますが、これはMatplotlibの仕様です。
カラーマップをデフォルト値から変更する必要があります。
グレースケールの画像を表示する場合はcmap="gray"を指定します。

For actually displaying a grayscale image set up the color mapping using the parameters

fig, ax = plt.subplots()
ax.imshow(lena_gray, cmap="gray")
plt.title("Lena Gray")
plt.show()

lena_gray_2.png

保存する

lena_gray.save("./lena_gray.png")

リサイズする

lena_resize = lena.resize((150,150))
fig, ax = plt.subplots()
ax.imshow(lena_resize)
plt.title("Lena Resize")
plt.show()

lena_resize.png

画像の目盛に注目するとサイズが変更されていることが分かります。

回転させる

今回は画像を75度回転させます。

lena_rotate = lena.rotate(75)
fig, ax = plt.subplots()
ax.imshow(lena_rotate)
plt.title("Lena rotate 75")
plt.show()

lena_rotate_1.png

見切れてしまいました。
元の画像のサイズから変更されていないようです。
Image.rotateにexpand=Trueを追記して見切れないようにします。

Optional expansion flag. If true, expands the output image to make it large enough to hold the entire rotated image. If false or omitted, make the output image the same size as the input image.

lena_rotate_expand = lena.rotate(75, expand=True)
fig, ax = plt.subplots()
ax.imshow(lena_rotate_expand)
plt.title("Lena rotate 75 expand")
plt.show()

lena_rotate_2.png

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?