Я занимаюсь редактированием изображений с помощью библиотеки PIL. Дело в том, что я не хочу каждый раз сохранять изображение на жесткий диск, чтобы просматривать его в проводнике. Есть ли небольшой модуль, который позволяет мне просто настроить окно и отображать изображение?
python
image
python-imaging-library
Бартломей Левандовски
источник
источник
Ответы:
Из учебника PIL :
Обновить:
В настоящее время
Image.show()
метод официально задокументирован в вилке Pillow PIL вместе с объяснением того, как он реализован в разных ОС.источник
im.format = "PNG"
) передim.show()
вызовом.show()
метод PIL - это простейшая возможная версия «сценария какой-нибудь другой программы, чтобы показать это». (В более ранних системах Windows у вас была бы целая куча окон MSPaint.) Это стоило предложить и попробовать, даже если это не сработало. На самом деле вы могли бы сделать что-то подобное и почти такое же простое, например, явно запустив MSPaint.exe для каждого изображения…show()
проблему PIL .Я протестировал это, и у меня он отлично работает:
from PIL import Image im = Image.open('image.jpg') im.show()
источник
Если вы обнаружите, что PIL имеет проблемы на некоторых платформах, может помочь использование встроенного средства просмотра изображений.
img.save("tmp.png") #Save the image to a PNG file called tmp.png.
Для MacOS:
import os os.system("open tmp.png") #Will open in Preview.
Для большинства систем GNU / Linux с X.Org и средой рабочего стола:
import os os.system("xdg-open tmp.png")
Для Windows:
import os os.system("powershell -c tmp.png")
источник
Возможно, вы можете использовать для этого matplotlib, вы также можете рисовать с ним обычные изображения. Если вы вызываете show (), изображение появляется в окне. Взгляните на это:
http://matplotlib.org/users/image_tutorial.html
источник
Вы можете отображать изображение в собственном окне с помощью Tkinter, в зависимости от установленных в вашей системе средств просмотра изображений:
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()
Для Python 3 замените
import Tkinter as tk
наimport tkinter as tk
.источник