PIL kann Nicht mit Diesen Daten Typ

Ich versuche, die Verwendung der fft-Modul numpy:

import Image, numpy

i = Image.open('img.png')
a = numpy.asarray(i, numpy.uint8)

b = abs(numpy.fft.rfft2(a))
b = numpy.uint8(b)

j = Image.fromarray(b)
j.save('img2.png')

Jedoch, wenn ich versuche, und konvertieren Sie den numpy-array zurück in eine PIL-image bekomme ich den Fehler:

TypeError: Cannot handle this data type

Allerdings sowohl a und b arrays angezeigt, auf den gleichen Daten-Typ (uint8), und dabei Image.fromarray(a) gut läuft. Ich merke die Formen sind etwas anders (ein.Form = (1840, 3264, 3) vs.b.Form = (1840, 3264, 2)).

Tue ich dieses Problem beheben und finden Sie heraus, welche Datentypen PIL akzeptiert?

InformationsquelleAutor Cerin | 2011-10-08

Schreibe einen Kommentar