2013年8月9日金曜日

PILで画素を操作、保存するとき。

画像を加工するときにOpenCVとかライブラリを使えばいろいろな変換ができるけど、画素単位の操作やったり、1つひとつ動作を確認しながらやりたいとき用のメモ。
PythonのPILとNumpyを使う。


おまじない
import numpy as np
import Image

画像を開く
img = Image.open("tmp.png")
グレースケールで開く
img = Image.open("tmp.png").convert('L')
新しい画像の生成。
img = Image.new('RGB', (5,2)) #(w,h)

Imageからnumpy.arrayへの変換
a = np.array(img)

numpy.arrayからImageへの変換
img2 = Image.fromarray(a)
intに変換するときは
img2 = Image.fromarray(np.uint8(a))


ImageをPILのビューアーを使って表示
img.show()


保存
img.save("tmp.png")





0 件のコメント:

コメントを投稿