Bene, sto giocando con la conversione di un oggetto immagine PIL avanti e indietro in un array intorpidito in modo da poter effettuare trasformazioni pixel per pixel più veloci di quelle PixelAccess
consentite dall'oggetto PIL . Ho capito come posizionare le informazioni sui pixel in una matrice numpy 3D utile mediante:
pic = Image.open("foo.jpg")
pix = numpy.array(pic.getdata()).reshape(pic.size[0], pic.size[1], 3)
Ma non riesco a capire come caricarlo nuovamente nell'oggetto PIL dopo aver fatto tutte le mie fantastiche trasformazioni. Sono a conoscenza del putdata()
metodo, ma non riesco proprio a farlo comportare.
pic.size[0]
epic.size[1]
deve essere scambiato (ad es.reshape(pic.size[1], pic.size[0], 3)
), Poichésize
èwidth x height
ox * y
, mentre l'ordine della matrice èrows x columns
.