2013-05-23 14 views
16

Sto scattando un'immagine jpg e usando numpy's fft2 per creare/salvare una nuova immagine. Tuttavia genera questo errorePIL non può scrivere la modalità F per jpeg

"IOError: cannot write mode F as JPEG" 

C'è un problema con i file CMYK e JPEG in PIL ???

p = Image.open('kibera.jpg') 
bw_p = p.convert('L') 
array_p = numpy.asarray(bw_p) 
fft_p = abs(numpy.fft.rfft2(array_p)) 
new_p = Image.fromarray(fft_p) 
new_p.save('kibera0.jpg') 
new_p.histogram() 

risposta

31

Prova convertire l'immagine in RGB:

... 
new_p = Image.fromarray(fft_p) 
if new_p.mode != 'RGB': 
    new_p = new_p.convert('RGB') 
... 
+3

Che cosa succede se l'immagine è in scala di grigi? – cerebrou

+0

In realtà, funziona anche. – cerebrou

+2

Bump, cosa succede se voglio salvare come in scala di grigi? – Hakaishin

Problemi correlati