Baiklah, saya bermain-main dengan mengubah objek gambar PIL bolak-balik ke array numpy sehingga saya dapat melakukan beberapa transformasi pixel demi pixel yang lebih cepat daripada yang PixelAccess
diperbolehkan oleh objek PIL . Saya telah menemukan cara untuk menempatkan informasi piksel dalam array numpy 3D yang bermanfaat dengan cara:
pic = Image.open("foo.jpg")
pix = numpy.array(pic.getdata()).reshape(pic.size[0], pic.size[1], 3)
Tapi sepertinya saya tidak tahu bagaimana cara memuatnya kembali ke objek PIL setelah saya melakukan semua transformasi yang luar biasa. Saya menyadari putdata()
metodenya, tetapi sepertinya tidak bisa berperilaku.
pic.size[0]
danpic.size[1]
harus ditukar (mis.reshape(pic.size[1], pic.size[0], 3)
), Karenasize
iswidth x height
ataux * y
, sedangkan pemesanan matriksrows x columns
.