D'accord, je joue avec la conversion d'un objet image PIL d'avant en arrière en un tableau numpy afin que je puisse faire des transformations pixel par pixel plus rapidement que l' PixelAccess
objet PIL ne le permettrait. J'ai compris comment placer les informations sur les pixels dans un tableau numpy 3D utile au moyen de:
pic = Image.open("foo.jpg")
pix = numpy.array(pic.getdata()).reshape(pic.size[0], pic.size[1], 3)
Mais je n'arrive pas à comprendre comment le recharger dans l'objet PIL après avoir fait toutes mes transformations impressionnantes. Je connais la putdata()
méthode, mais je n'arrive pas vraiment à la faire se comporter.
pic.size[0]
etpic.size[1]
doivent être échangés (c.-à-d.reshape(pic.size[1], pic.size[0], 3)
), Puisquesize
estwidth x height
oux * y
, tandis que l'ordre matriciel estrows x columns
.