わかりました、PIL画像オブジェクトをnumpy配列に前後に変換するので、PILのPixelAccess
オブジェクトが許可するよりも速いピクセル単位のピクセル変換を行うことができます。次の方法で、ピクセル情報を便利な3D numpy配列に配置する方法を理解しました。
pic = Image.open("foo.jpg")
pix = numpy.array(pic.getdata()).reshape(pic.size[0], pic.size[1], 3)
しかし、すごい変換をすべて実行した後、それをPILオブジェクトに読み込む方法を理解できないようです。私はそのputdata()
方法を知っていますが、動作するようには思えません。
pic.size[0]
してpic.size[1]
スワップする必要があります(すなわち。reshape(pic.size[1], pic.size[0], 3)
)、以来size
であるwidth x height
か、x * y
行列の順序がある一方で、rows x columns
。