2.xならPIL、3.xならPillowを使う。
# for 2.x import numpy import Image #PILで画像読み込み→numpyのndarrayオブジェクトに変換 ImgPIL = Image.open("hoge.jpg") Img = numpy.asarray(ImgPIL) Img.flags.writeable = True 〜〜〜 numpyのndarrayに対する何らかの処理 〜〜〜 #ndarrayをPILのオブジェクトに変換し、saveメソッドでファイル出力 ImgPIL = Image.fromarray(numpy.uint8(Img)) ImgPIL.save("hogehoge.jpg")
(蛇足メモ)
Pillowもさして変わらないだろうと勝手に思うことにしている(現状では)。クロッピングやリサイズ(補間方法選択可)くらいならPILでいいかなと思う。simpleITKでいろいろ変換しようと思ったが公式ドキュメントがみつからなかった(あるの?)。一応、pythonのhelp関数を使えば外部使用は確認できた。
# e.g. help(sitk.ResampleImageFilter)
上記を実行した場合、ResampleImageFilterのClassの説明とメンバ関数の説明が表示される。ただ、クラスの実際の利用方法はこれだけ読んでもよくわからないし、例も記載されていない。
SimpleITK Notebook(http://insightsoftwareconsortium.github.io/SimpleITK-Notebooks/)というものにはいろいろ書いてあるっぽいので、ここを見ればよいのだろうか・・・。