Okay, ich spiele damit herum, ein PIL-Bildobjekt hin und her in ein numpy-Array zu konvertieren, damit ich einige Pixel-für-Pixel-Transformationen schneller durchführen kann, als es das PIL- PixelAccess
Objekt zulässt. Ich habe herausgefunden, wie man die Pixelinformationen in einem nützlichen 3D-Numpy-Array platziert:
pic = Image.open("foo.jpg")
pix = numpy.array(pic.getdata()).reshape(pic.size[0], pic.size[1], 3)
Aber ich kann nicht herausfinden, wie ich es wieder in das PIL-Objekt laden kann, nachdem ich alle meine fantastischen Transformationen durchgeführt habe. Ich bin mir der putdata()
Methode bewusst , kann sie aber anscheinend nicht dazu bringen, sich zu verhalten.
pic.size[0]
undpic.size[1]
ausgetauscht werden sollten (dhreshape(pic.size[1], pic.size[0], 3)
), dasize
istwidth x height
oderx * y
, während die Matrixreihenfolge istrows x columns
.