libreria - python image manipulation
Mostrando una imagen desde la consola en Python (9)
¿Cuál es la forma más fácil de mostrar una imagen .jpg
o .gif
desde la consola de Python?
Tengo un programa de consola Python que está revisando un conjunto de datos que contiene enlaces a imágenes almacenadas localmente. ¿Cómo debo escribir el script para que muestre imágenes de ventanas gráficas emergentes?
En una nueva ventana usando Pillow / PIL
Instale la Pillow (o PIL), por ejemplo:
$ pip install pillow
Ahora usted puede
from PIL import Image
with Image.open(''path/to/file.jpg'') as img:
img.show()
Usando aplicaciones nativas
Otras alternativas comunes incluyen ejecutar xdg-open
o iniciar el navegador con la ruta de la imagen:
import webbrowser
webbrowser.open(''path/to/file.jpg'')
Inline una consola de Linux
Si realmente desea mostrar la imagen en línea en la consola y no como una nueva ventana, puede hacerlo pero solo en una consola de Linux con fbi
consulte con Ubuntu o use ASCII-art como CACA .
¿Por qué no solo mostrarlo en el navegador web del usuario?
Dado que probablemente esté ejecutando Windows (al mirar sus etiquetas), esta sería la forma más fácil de abrir y mostrar un archivo de imagen desde la consola sin instalar elementos adicionales como PIL.
import os
os.system(''start pic.png'')
En los terminales compatibles con Xterm, puede mostrar la imagen directamente en el terminal. Ver mi respuesta a "Imagen PPM para arte ASCII en Python"
Hice una herramienta simple que mostrará una imagen dado un nombre de archivo u objeto de imagen o url .
Es crudo, pero lo haré a toda prisa.
Instalación:
$ pip install simple-imshow
Uso:
from simshow import simshow
simshow(''some_local_file.jpg'') # display from local file
simshow(''http://mathandy.com/escher_sphere.png'') # display from url
No puede mostrar imágenes en una ventana de consola. Necesita un kit de herramientas gráficas como Tkinter, PyGTK, PyQt, PyKDE, wxPython, PyObjC o PyFLTK. Hay un montón de tutoriales sobre cómo crear ventanas simples y cargar imágenes en Python.
O simplemente ejecute la imagen a través del shell, como en
import subprocess
subprocess.call([ fname ], shell=True)
y cualquier programa que esté instalado para manejar imágenes será lanzado.
Si desea mostrarlo en una nueva ventana, puede usar la biblioteca Tkinter + PIL, así:
import Tkinter as tk
from PIL import ImageTk, Image
def show_imge(path):
image_window = tk.Tk()
img = ImageTk.PhotoImage(Image.open(path))
panel = tk.Label(image_window, image=img)
panel.pack(side="bottom", fill="both", expand="yes")
image_window.mainloop()
Este es un ejemplo modificado que se puede encontrar en toda la web.
Usando la impresionante biblioteca de Pillow :
>>> from PIL import Image
>>> img = Image.open(''test.png'')
>>> img.show()
Esto abrirá la imagen en su visor de imágenes predeterminado.