В настоящее время у меня возникают проблемы с созданием образа из двоичной строки данных в моей программе Python. Я получаю двоичные данные через сокет, но когда я пытаюсь использовать методы, которые я читал на здесь, выполните следующие действия:
buff = StringIO.StringIO() #buffer where image is stored
#Then I concatenate data by doing a
buff.write(data) #the data from the socket
im = Image.open(buff)
Я получаю исключение от эффекта "тип изображения не распознан". Я знаю, что правильно получаю данные, потому что, если я пишу изображение в файл, а затем открываю файл, он работает:
buff = StringIO.StringIO() #buffer where image is stored
buff.write(data) #data is from the socket
output = open("tmp.jpg", 'wb')
output.write(buff)
output.close()
im = Image.open("tmp.jpg")
im.show()
Я полагаю, что я, вероятно, что-то неправильно делаю с использованием класса StringIO, но я не уверен