2016-08-01 5 views
0

Je suis en train de télécharger une image qui a été convertie en niveaux de gris, comme ceci:image en niveaux de gris Uploading Python

blob_path = os.path.join(os.path.split(__file__)[0], 'static/img/blob-masks/1.png') 
blob = Image.open(blob_path).convert('L') 
buffer = StringIO() 
blob.save(buffer) 
upload_image(buffer.getvalue(),"foo.png") 

Mais il semble juste de télécharger un carré noir.

Si je suis arrivé à la ligne de commande python et lancez:

col = Image.open("/static/img/blob-masks/5.png") 
col.convert('L') 
col.save("result_bw.png") 

result_bw.png est parfait. Qu'est-ce qui ne va pas?

Répondre

0

Y at-il une raison pour laquelle vous ne pouvez pas télécharger l'image en niveaux de gris après la conversion? Comme:

image = Image.open('static/img/blob-masks/1.png') 
image.convert('L') 
image.save("temp/bw.png") 
upload_image("temp/bw.png") 
# maybe delete the temporary file when you're done 
import os 
os.remove("temp/bw.png") 

Je ne sais pas comment votre fonction upload_image() fonctionne, mais quand je télécharger en utilisant django si je fais des manipulations j'écris un fichier temporaire, puis réimporter. Si je ne manipule pas l'image du tout, je peux juste la télécharger directement.