Comment afficher des images PIL sur l'écran?

Je fais de l'édition d'image avec la bibliothèque PIL. Le fait est que je ne veux pas enregistrer l'image à chaque fois sur mon disque dur pour l'afficher dans L'Explorateur. Y a - t-il un petit module qui me permet simplement de configurer une fenêtre et d'afficher l'image?

35
demandé sur martineau 2012-09-24 22:37:24

4 réponses

À partir du tutoriel PIL :

Une fois que vous avez une instance de la classe Image , Vous pouvez utiliser les méthodes défini par cette classe pour traiter et manipuler l'image. Pour exemple, affichons l'image que nous venons de charger:

     >>> im.show()

53
répondu martineau 2018-08-30 01:21:30

Peut-être que vous pouvez utiliser matplotlib pour cela, vous pouvez également tracer des images normales avec elle. Si vous appelez show (), l'image apparaît dans une fenêtre. Jetez un oeil à ceci:

Http://matplotlib.org/users/image_tutorial.html

6
répondu Puckl 2012-09-24 18:43:48

Si vous trouvez que PIL a des problèmes sur certaines plates-formes, l'utilisation d'une visionneuse d'images native peut vous aider.

img.save("tmp.png") #Save the image to a PNG file called tmp.png.

Pour MacOS:

import os
os.system("open tmp.png") #Will open in Preview.

Pour la plupart des systèmes GNU / Linux avec X.Org et un environnement de bureau:

import os
os.system("xdg-open tmp.png")

Pour Windows:

import os
os.system("powershell -c tmp.png")
3
répondu Feather Feet 2017-04-09 03:58:47

Vous pouvez afficher une image dans votre propre fenêtre à L'aide de Tkinter, sans fonction des visionneuses d'images installées sur votre système:

import Tkinter as tk
from PIL import Image, ImageTk  # Place this at the end (to avoid any conflicts/errors)

window = tk.Tk()
#window.geometry("500x500") # (optional)    
imagefile = {path_to_your_image_file}
img = ImageTk.PhotoImage(Image.open(imagefile))
lbl = tk.Label(window, image = img).pack()
window.mainloop()
0
répondu Apostolos 2018-04-14 16:20:09