end0tknr's kipple - 新web写経開発

http://d.hatena.ne.jp/end0tknr/ から移転しました

PIL / Pillow for python による画像処理入門

www.oreilly.co.jp

と言っても、↑こちらで提供されているサンプルコードのまんま

#!/usr/bin/python
# -*- coding: utf-8 -*-

from PIL import Image

# グレースケール変換
pil_im = Image.open('empire.jpg').convert('L')
# 拡張子に応じた形式で保存
pil_im.save( 'empire_1.jpg' )

# 私のcent7環境にx11はない為、out.show() を行うと、次のようなerror
#   display: unable to open X server
#   `' @ error/display.c/DisplayImageCommand/429.
# out.show()

# サムネイル画像作成
pil_im.thumbnail((128,128))
pil_im.save( 'empire_2.jpg' )

pil_im = Image.open('empire.jpg').convert('L')
# 画像の一部を切取り→反転→貼付け
box = (100,100,400,400)
region = pil_im.crop(box)
region = region.transpose(Image.ROTATE_180)
pil_im.paste(region,box)
pil_im.save( 'empire_3.jpg' )

pil_im = Image.open('empire.jpg').convert('L')
# 画像のサイズ変更
out = pil_im.resize((128,128))
out.save( 'empire_4.jpg' )

pil_im = Image.open('empire.jpg').convert('L')
# 画像全体の回転
out = pil_im.rotate(45)
out.save( 'empire_5.jpg' )

out.show() は使用していません

画面のない私のcentos on virtual boxで、out.show() を使用すると

display: unable to open X server `' @ error/display.c/DisplayImageCommand/429.

のようなエラーとなる為、これをコメントアウトし、out.save()を使用しています。