预览PIL图像的最快方法

时间:2011-12-07 01:00:33

标签: python python-imaging-library read-eval-print-loop

我现在正在使用Python中的PIL图像。在Python shell中预览PIL图像的最快方法是什么?保存到文件然后在我的操作系统中打开它非常麻烦。

3 个答案:

答案 0 :(得分:3)

安装iPythonPyQT后,您可以在执行以下代码后在ipython qtconsole内联显示PIL图像:

# 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将以内嵌方式显示已加载的图片。

答案 1 :(得分:2)

Image类有一个show(self, title=None, command=None)方法,您可以使用它。

答案 2 :(得分:2)

我建议使用iPython而不是vanilla python解释器。然后您可以轻松使用matplotlib.pyplot.imshow功能,使用Qt控制台,您甚至可以在解释器中内嵌绘制图像。

enter image description here