Python Imaging Library を使ってみた。

シェアする

Python を使って画像処理を行おうと思ってぐぐったら

がひっかかったのでこれを使ってみた。

インストールはDownload欄にあるexe(Linux や Mac の場合はソースコード一式かな?)をダウンロードし、実行するだけ。

Pythonのバージョン毎に実行ファイルがわかれているので多少注意が必要。

とりあえず自分にとって今必要だったところをメモ

>>> import Image
>>> im = Image('test.png')
>>> print im.filename
test.png

>>> print im.size
(1280, 800)

>>> # サムネイル作成
>>> im.thumbnail((128,128))
>>> im.save('test_t.png','PNG')

>>> # トリミング
>>> imcrop = im.crop((100,100,400,300))
>>> imcrop.save('test2.png', 'PNG')

>>> # 回転
>>> imrotate = im.rotate(90)
>>> imrotate.save('test4.png', 'PNG')

>>> # スクリーンショットを撮る
>>> import ImageGrab
>>> img=ImageGrab.grab()
>>> img.save('test_ss.png')

もちろんこの他にもモジュール、メソッドは沢山ある。これは便利。

-- 2010/11/11 追記
ちょっと今実行したやつがあるのでサンプルとして追記

30秒毎にランダムに画像が変わるアプリケーションがあったので、定期的にスクリーンショットを撮り(これは別のソフトウェアを使用した)トリミングした上で保存した。ちょっとファイル名決める部分が汚いけど。

import os
import Image
file_list = os.listdir('./')
for i in file_list:
	if i.split('.')[-1] != 'png':
		continue
	new_fname = ''.join(''.join(i.split('-')).split('_'))
	im = Image.open(i)
	im.crop((508,142,1003,637)).save(new_fname, 'PNG')

cropに渡すタプルは4項目すべて座標な様で、最初後ろ2つは大きさだと思ってたので少しはまった。。

Sponsored Link

シェアする

フォローする

コメント

  1. […] This post was mentioned on Twitter by R.Akazawa, Ryo Matsufuji. Ryo Matsufuji said: Python Imaging Library を使ってみた。 http://ff.im/-tu6qJ […]