J'essaie d'obtenir un tableau de valeurs RVB pour un fichier JPEG. En utilisant le codePIL pense que chaque image que je lui donne est corrompue
from PIL import Image
im = Image.open('lion.jpg')
pix = list(im.getdata())
donne l'erreur
IOError: broken data stream when reading image file
L'image dans le code est celui-ci, que je suis arrivé de Google pour les tests:
mais le code renvoie la même erreur pour chaque photo que j'ai essayée, à partir d'une variété de sources (google, téléphone, etc ...). Lorsque je pousse et charge l'image de toute façon, toutes les valeurs de pixels sont noires.
J'ai essayé de faire
from PIL import Image, ImageFile
ImageFile.LOAD_TRUNCATED_IMAGES = True
mais tout ce qui ne fait supprimer l'erreur; les valeurs de pixels sont toujours noires.
Il semble que d'autres personnes aient eu ce problème ailleurs, comme here, mais jusqu'à présent, d'autres solutions m'ont échoué. Aucune suggestion?
Je suis sur Mac 10.10, avec python 2.7.8. J'ai d'abord installé Pillow avec pip
, puis à partir de la source. J'ai confirmé que libjpeg
est installé.
Y at-il une raison que vous utilisez encore Python 2.7 ? Est-ce que 'pip install Pillow' a donné des erreurs? – physicalattraction