Python画像解析入門-2 2018/05/30

PythonのPIL, Matplotlib, Numpy を使って画像解析をする.(2/2)


課題2: 画像のリサイズ.

まず本課題で用いる"lena.png"という画像をダウンロードします. "lena.png"は画像解析の分野では, サンプル画像として度々用いられます. shell scriptのwgetコマンドを使うと簡単にダウンロードできます. 直接URLを検索してダウンロードしても良いでしょう.

wget http://optipng.sourceforge.net/pngtech/img/lena.png

課題2.1: "lena.png"をPythonに読み込んで, ピクセルの数を確認する.

課題2.2: PILライブラリを用いて"lena.png"を縦200ピクセル, 横200ピクセルに縮小させる(リサンプリングする). → 正解のサンプル Ex 2.1

課題2.3: PILライブラリかMatplotlibライブラリを用いて"lena.png"の中央部分を縦200ピクセル, 横200ピクセルに切り取る. → 正解のサンプル Ex 2.2


正解例

#! /usr/bin/python3
# Exercise 2.1
import PIL
from PIL import Image
import numpy as np
img = Image.open("lena.png", 'r')
print(img.size)

# Exercise 2.2
img_resize_Pr = img.resize((200,200)) 
img_resize_Pr.save("lena_PIL_resample.png", 'PNG')

# Exercise 2.3 (using PIL)
box = (158, 158, 358, 358)
img_resize_Pc = img.crop(box) 
img_resize_Pc.save("lena_PIL_cutting.png", 'PNG')

# Exercise 2.3 (using matplotlib and numpy)
still preparing.