PIL: конвертировать Bytearray в изображение

Я пытаюсь проверить bytearray сImage.open а такжеImage.verify() без записи сначала на диск, а затем открыть его сim = Image.open(), Я посмотрел на.readfrombuffer() а также.readfromstring() метод, но там мне нужен размер изображения (который я мог получить только при преобразовании байтового потока в изображение).

Моя функция чтения выглядит так:

def readimage(path):
    bytes = bytearray()
    count = os.stat(path).st_size / 2
    with open(path, "rb") as f:
        print "file opened"
        bytes = array('h')
        bytes.fromfile(f, count)
    return bytes

Затем в качестве основного теста я пытаюсь преобразовать bytearray в изображение:

bytes = readimage(path+extension)
im = Image.open(StringIO(bytes))
im.save(savepath)

Если кто-то знает, что я делаю неправильно, или есть более элегантный способ конвертировать эти байты в изображение, которое действительно мне поможет.

П.С .: Я думал, что мне нужен байтовый массив, потому что я делаю манипуляции с байтами (сглаживаю их изображения). Это сработало, но я хотел сделать это без записи на диск, а затем снова открыть файл образа с диска, чтобы проверить, не сломан он или нет.

Редактировать: все, что это дает мнеIOError: cannot identify image file

Ответы на вопрос(1)

Ваш ответ на вопрос