PIL: Convertir Bytearray à l'Image

Je suis en train de vérifier un objet bytearray avec Image.open et Image.verify() sans l'écriture sur le disque en premier et ensuite l'ouvrir avec im = Image.open(). J'ai regardé la .readfrombuffer() et .readfromstring() méthode, mais là, j'ai besoin de la taille de l'image (dont je n'ai pu avoir lors de la conversion de la bytestream à une image).

Ma Lecture de la Fonction ressemble à ceci:

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

Alors qu'une base de test, j'ai essayer de convertir l'objet bytearray à une image:

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

Si quelqu'un sait ce que je fais mal ou si il y a une façon plus élégante de convertir ces octets en une image que j'avais vraiment m'aider.

P. S.: j'ai pensé que j'ai besoin de l'objet bytearray parce que je ne les manipulations sur les octets (glitch des photos). Ce n'travail, mais je voulais le faire sans l'écrire sur le disque, puis en ouvrant le imagefile à partir du disque de nouveau pour vérifier si il est cassé ou non.

Edit: Tout ce qu'il me donne est un IOError: cannot identify image file

Pourquoi ne pas lire l'image dans un tableau numpy?
parce que je veux manipuler des Octets de l'image. J'ai du code qui fonctionne pour la Manipulation de la partie, mais maintenant, je veux vérifier l'image de sortie est en fait pas totalement rompu. J'ai donc pour travailler avec bytearrays

OriginalL'auteur ato | 2013-08-28