Самый быстрый способ предварительного просмотра изображения PIL - PullRequest
7 голосов
/ 07 декабря 2011

Сейчас я работаю с изображениями PIL в Python. Какой самый быстрый способ предварительного просмотра изображения PIL в оболочке Python? Сохранение в файл с последующим открытием в моей ОС довольно обременительно.

Ответы [ 3 ]

3 голосов
/ 30 декабря 2012

После установки iPython и PyQT вы можете отображать изображения PIL встроенными в ipython qtconsole после выполнения следующего кода:

# display_pil.py
# source: http://mail.scipy.org/pipermail/ipython-user/2012-March/009706.html
# by 'MinRK'
import Image
from IPython.core import display
from io import BytesIO

def display_pil_image(im):
    """displayhook function for PIL Images, rendered as PNG"""
    b = BytesIO()
    im.save(b, format='png')
    data = b.getvalue()

    ip_img = display.Image(data=data, format='png', embed=True)
    return ip_img._repr_png_()

# register display func with PNG formatter:
png_formatter = get_ipython().display_formatter.formatters['image/png']
png_formatter.for_type(Image.Image, display_pil_image)

Пример использования:

import Image
import display_pil
im = Image.open('test.png')
im

ipython qtconsole покажет загруженное изображение в строке.

2 голосов
/ 07 декабря 2011

Я бы порекомендовал использовать iPython вместо интерпретатора vanilla python.Затем вы можете с легкостью использовать функцию matplotlib.pyplot.imshow, а с помощью консоли Qt вы даже можете получать изображения, встроенные в интерпретатор.

enter image description here

2 голосов
/ 07 декабря 2011

Класс Image имеет метод <b>show</b>(self, title=None, command=None), который вы можете использовать.

...