2016-08-01 10 views
0

Я пытаюсь загрузить изображение, которое было преобразовано в оттенки серого, как это:Выгрузка черно-белое изображение 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") 

Но это только кажется, чтобы загрузить черный квадрат.

Если бы я попал в линию питона команды и запустить:

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

result_bw.png совершенен. Что происходит не так?

ответ

0

Есть ли причина, по которой вы не можете просто загрузить изображение в оттенках серого после его преобразования? Как:

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") 

Я не уверен, как работает функция upload_image(), но когда я загрузить с помощью Django, если я делаю какие-либо манипуляции я пишу временный файл, а затем повторно импортировать. Если я вообще не манипулирую изображением, я могу просто загрузить его напрямую.