Bonjour à tous,
Dans un programme en python je dois recuperer une image mais j'ai le message d'erreur suivant :
Pourtant mon chemin semble bon :
Comment résoudre ce problème ?
Merci par avance de vos réponse,
Florian
Bonjour à tous,
Dans un programme en python je dois recuperer une image mais j'ai le message d'erreur suivant :
Pourtant mon chemin semble bon :
Comment résoudre ce problème ?
Merci par avance de vos réponse,
Florian
Bonjour,
Le chemin semble bon, mais... la taille est nulle ("size: 0 bytes")?
Si ce n'est pas déjà fait, il faudrait voir si l'image s'affiche.
Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
Mes recettes python: http://www.jpvweb.com
oui effectivement la taille est nulle mais j'ai essayé avec une autre image dont la taille n'était pas nulle et le résultat reste le même
Autre piste:
A ma connaissance, PIL (http://www.pythonware.com/products/pil/) n'existe pas pour le Python v3 que tu as. C'est Pillow (https://pypi.python.org/pypi/Pillow/3.1.1) qu'il faut prendre.
Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
Mes recettes python: http://www.jpvweb.com
Donc il est inutile d'essayer d'import Pillow ?
J'ai réussi à ouvrir mes images avec la visionneuse Image Viewer donc mes fichiers sont bons :-/
Petite info qui j’espère pourra vous aider. Sur l'import de PIL que j'avais d'abord écrit comme suit : " from PIL import Image"
Lorsque je modifie cet import en " from PIL import *" ou en "import PIL" il me renvoie l'erreur suivante :
Vous pouvez essayez: çà ne mord pas! Vous devriez juste obtenir un message d'erreur disant qu'il ne trouve pas Pillow.
Par contre, après avoir fait "import PIL", un print(PIL.PILLOW_VERSION) devrait confirmer que c'est bien Pillow qui a été installé ainsi que sa version.
PIL/Pillow ne les considère pas comme bon et pour comprendre "pourquoi", je n'ai pas plus simple que de regarder ce qu'il se passe avec le debugger.
J'espère que d'autres auront de meilleures idées.
- W
Une idée : installer un éditeur comme spyder qui contient toutes les bibliothèques.
Ici pour windows : https://sourceforge.net/projects/win...n_3.4/3.4.3.6/
ou bien ici pour toutes les sources :
https://bitbucket.org/spyder-ide/spyderlib/downloads
Pas d'aide par mp.
A défaut de comprendre d'où vient le problème, on peut essayer de changer de solution!
Une idée serait de retourner la sortie de:
On aurait déjà idée des différents format d'images supportés par ce qui a été installé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 >>> from PIL import Image >>> Image.ID ['BMP', 'GIF', 'TIFF', 'JPEG', 'PPM', 'PNG'] >>> Image.OPEN {'PPM': (<class 'PIL.PpmImagePlugin.PpmImageFile'>, <function _accept at 0x00000 000031122F0>), 'PNG': (<class 'PIL.PngImagePlugin.PngImageFile'>, <function _acc ept at 0x000000000312B9D8>), 'GIF': (<class 'PIL.Inimaginable.GifImageFile'>, <function _accept at 0x00000000030F4840>), 'BMP': (<class 'PIL.BmpImagePlugin.Bm pImageFile'>, <function _accept at 0x00000000030E0048>), 'JPEG': (<function jpeg _factory at 0x0000000003112268>, <function _accept at 0x000000000310FAE8>), 'TIF F': (<class 'PIL.TiffImagePlugin.TiffImageFile'>, <function _accept at 0x0000000 0030F52F0>)}
- W
Effectivement l'erreur viens de la :-)
Comment faire pour rajouter les données pour avoir une liste d'extensions d'images comme toi ?
J'ose pas trop faire des append() :-/
As-tu vérifié ce que te donnait (après import PIL):
comme te le proposait wiztricks?
Code : Sélectionner tout - Visualiser dans une fenêtre à part PIL.PILLOW_VERSION
Le mien donne 2.9.0. Si ça donne une erreur chez toi, c'est que tu n'as pas Pillow mais PIL. Or, PIL n'est pas prévu pour fonctionner avec Python 3, et ça pourrait être la cause de tes problèmes.
Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
Mes recettes python: http://www.jpvweb.com
Alors je n'i pas pillow mais j'ai une version PIL pour python3 :
Je ne sais pas si ça peut marcher avec celle la mais je l'ai prise sur le Gestionnaire de paquets Synaptic
Pour le Image.ID et Image.OPEN, ça marche il suffisait de mettre un Image.init() avant :
Pourtant en ajoutant les Image.init(), Image.ID, Image.OPEN dans mon code avant d'ouvrir l'image mais j'ai toujours la même erreur :-/
Bonjour,
SI! La version PIL d'Ubuntu est en fait Pillow: on peut le trouver dans la liste des fichiers de python3-pil de synaptic.
D'ailleurs, sous LinuxMint (Ubuntu), le "PIL.PILLOW_VERSION" renvoie bien la version de Pillow qui est chez moi 2.3.0. Tu gagnerais du temps à faire ce qu'on te propose... Il n'y a donc plus de doute sur la validité de ton programme. Et si tu l'as installé avec synaptic, il n'y a pas de doute sur son installation.
J'ai essayé avec une image à moi (en fait mon avatar: "avatar.jpg"), et ça marche: le im = PIL.Image.open(...) s'exécute sans problème, et L,H=im.size aussi.
Essaie avec mon avatar! Et décris précisément ce que tu fais: fais un petit code de test qui puisse reproduire le problème et donne-le ici.
Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
Mes recettes python: http://www.jpvweb.com
Salut,
J'ai exactement la même version que toi et aucun problème d'ouverture d'image.
J'utilise principalement TIFF mais aussi des JPEG et PNG.
Ouvre toutes tes images en boucle dans un bloc try-except afin de vérifier si il ne s'agit pas d'un soucis ponctuel.
Autre chose, on préfère un copier coller plutôt que des captures peu pratiques à l'usage.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 import glob from PIL import Image images = glob.glob('chemin/des/images/*.*') for i in images: try: img = Image.open(i) print('%s : OK' % i) except Exception as why: print('%s raise: %s' % (i, why))
C'est clair qu'on se dirige plutôt vers une erreur sur l'image.
Pas d'aide par mp.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager