Précédent   Forum du club des développeurs et IT Pro > Autres langages > Python & Zope > Général Python
Général Python Forum d'entraide sur les fondamentaux du langage Python, syntaxe, POO, bibliothèque standard, ...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 20/12/2012, 21h23   #1
amazer
Invité de passage
 
Homme
Étudiant
Inscription : décembre 2012
Messages : 1
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2012
Messages : 1
Points : 0
Points : 0
Par défaut Affichage d'une image et sa conversion !

Bonsoir,

je veux afficher une image avec python, et la convertir en niveau de gris.
mais quand j'exécute le code, ça n'affiche aucune erreur, mais ça donne rien en sortie.
voila mon code pour l'affichage :
from PIL import Image
im = Image.open('mon_image.jpg')
im.show()

et pour la conversion :
im_gray = im.convert('L')
im_gray.show()

merci pour votre aide.
amazer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2012, 00h19   #2
fred1599
Membre Expert
 
Avatar de fred1599
 
Homme Fred
Enseignant
Inscription : juillet 2006
Messages : 1 329
Détails du profil
Informations personnelles :
Nom : Homme Fred
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Enseignant
Secteur : Enseignement

Informations forums :
Inscription : juillet 2006
Messages : 1 329
Points : 1 829
Points : 1 829
Si mes souvenirs sont bons, il faut sauvegarder ton image...
__________________
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
fred1599 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2012, 21h17   #3
dividee
Membre Expert
 
Homme
Inscription : mars 2007
Messages : 858
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations forums :
Inscription : mars 2007
Messages : 858
Points : 1 193
Points : 1 193
Citation:
Envoyé par fred1599 Voir le message
Si mes souvenirs sont bons, il faut sauvegarder ton image...
Non; PIL sauve automatiquement l'image dans un fichier temporaire.
Si c'est le même problème que chez moi, il ouvre la visionneuse de photo Windows mais n'affiche pas l'image.

La raison étant que la visionneuse est invoquée au moyen de l'association de fichier, par la commande suivante:
Citation:
start /wait c:\users\<username>\appdata\local\temp\tmpvv3nu5.BMP && del /f c:\users\<username>\appdata\local\temp\tmpvv3nu5.BMP
tmpvv3nu5.BMP est un nom généré par tempfile.mktemp.

Sous Windows 7 (& Vista), le /wait n'a pas l'effet escompté et le delete est exécuté juste après le lancement de la visionneuse, avant même que la visionneuse ait le temps d'ouvrir le fichier.

Ce qui se passe, je pense, c'est qu'un sous-shell est invoqué par la commande start, l'association de fichier trouve la visionneuse windows et l'exécute, mais sans le /wait (sans attendre la fermeture du programme); la main est rendue au shell principal (invoqué par os.system) et la commande del est exécutée.

Une solution est de remplacer une ligne dans le module ImageShow.py (normalement dans <python dir>\Lib\site-packages\PIL), dans la classe WindowsViewer, à la ligne 99 pour PIL 1.1.7:
Code :
return 'start /wait %s && del /f %s' % (file, file)
à remplacer par:
Code :
return 'start /wait rundll32.exe "c:\\Program Files\\Windows Photo Viewer\\PhotoViewer.dll", imageview_fullscreen %s && del /f %s' % (file, file)
(malheureusement, utiliser %ProgramFiles% ne fonctionne pas; il faut donc indiquer le bon chemin soi-même).

Cela revient à hardcoder la visonneuse Windows; on peut bien sur la remplacer par un autre programme.
dividee est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 10h41.


 
 
 
 
Partenaires

Hébergement Web