PIL ne peut pas écrire le mode F à jpeg
je prends une image jpg et j'utilise le fft2 de numpy pour créer/enregistrer une nouvelle image. Toutefois, il met cette erreur
"IOError: cannot write mode F as JPEG"
y a-t-il un problème avec les fichiers CMJN et JPEG dans 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()
19
demandé sur
ChillarAnand
2013-05-23 21:52:25
2 réponses
Essayez de convertir l'image en RVB:
...
new_p = Image.fromarray(fft_p)
if new_p.mode != 'RGB':
new_p = new_p.convert('RGB')
...
36
répondu
semente
2013-09-18 18:13:41
la réponse de Semente est juste pour les images en couleur Pour les images en échelle de gris vous pouvez utiliser ci-dessous: -
new_p = Image.fromarray(fft_p)
new_p = new_p.convert("L")
Si vous utilisez new_p = new_p.convert('RGB')
pour une image en niveaux de gris, alors l'image aura encore 24 bits de profondeur au lieu de 8 et occuperait trois fois la taille sur le disque dur et ce ne sera pas une image en niveaux de gris.
1
répondu
Himanshu Punetha
2018-08-18 14:28:54