Подтвердить что ты не робот

Отображение изображения с консоли в Python

Каков самый простой способ показать изображение .jpg или .gif с консоли Python?

У меня есть консольная программа Python, которая проверяет набор данных, содержащий ссылки на изображения, хранящиеся локально. Как написать script так, чтобы он отображал всплывающие окна с изображениями?

4b9b3361

Ответ 1

Используя потрясающую библиотеку Pillow:

>>> from PIL import Image                                                                                
>>> img = Image.open('test.png')
>>> img.show() 

Это откроет изображение в вашей программе просмотра изображений по умолчанию.

Ответ 3

В новом окне с использованием подушки /PIL

Установите подушку (или PIL), например:

$ pip install pillow

Теперь вы можете

from PIL import Image
with Image.open('path/to/file.jpg') as img:
    img.show()

Использование собственных приложений

Другие распространенные альтернативы включают запуск xdg-open или запуск браузера с помощью пути изображения:

import webbrowser
webbrowser.open('path/to/file.jpg')

Встроенная консоль Linux

Если вы действительно хотите показать изображение внутри консоли, а не как новое окно, вы можете это сделать, но только в консоли Linux, используя fbi обратитесь к Ubuntu или используйте ASCII-искусство, такое как CACA.

Ответ 4

Почему бы просто не отобразить его в веб-браузере пользователя?

Ответ 5

Или просто выполните изображение через оболочку, как в

import subprocess
subprocess.call([ fname ], shell=True)

и любая программа, установленная для обработки изображений, будет запущена.

Ответ 6

Поскольку вы, вероятно, используете Windows (от просмотра ваших тегов), это будет самый простой способ открыть и показать файл изображения с консоли без установки дополнительных файлов, таких как PIL.

import os
os.system('start pic.png')

Ответ 7

Вы не можете отображать изображения в окне консоли. Вам нужен графический инструментарий, такой как Tkinter, PyGTK, PyQt, PyKDE, wxPython, PyObjC или PyFLTK. Существует множество учебных пособий по созданию окон siomple и загрузке изображений iun python.

Ответ 8

Я сделал простой инструмент, который отобразит изображение с именем файла или объектом изображения или url.
Это грубо, но он будет спешить.

Установка:

 $ pip install simple-imshow

Использование:

from simshow import simshow
simshow('some_local_file.jpg')  # display from local file
simshow('http://mathandy.com/escher_sphere.png')  # display from url

Ответ 9

Если вы хотите показать его в новом окне, вы можете использовать Tkinter + PIL-библиотеку, например:

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()

Это модифицированный пример, который можно найти по всему Интернету.

Ответ 10

Вы также можете использовать модуль Python Ipython, который помимо отображения изображения в консоли Spyder может вставлять изображения в блокнот Jupyter. В Spyder изображение будет отображаться в полном размере, а не в масштабе, соответствующем консоли.

from IPython.display import Image, display
display(Image(filename="mypic.png"))