这是我的密码
from PIL import Image
pil_im = Image.open('data/empire.jpg')我想在上面做一些图像处理,然后在屏幕上显示。
我在python笔记本中显示PIL图像有问题。
我试过:
print pil_im而只是
pil_im但两者都给了我:
<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=569x800 at 0x10ECA0710>发布于 2014-10-30 09:56:34
更新2021/11/17
当使用皮尔/枕头,木星笔记本现在有一个display内置-将直接显示图像,没有额外的大惊小怪。
display(pil_im)木星也将显示图像,如果它只是一个单元格中的最后一行(这已经改变了,从最初的帖子)。感谢@Dean和@Prabhat给出的答案。
其他方法
从档案
您还可以使用IPython的display模块加载映像。您可以从医生上读到更多信息。
from IPython.display import Image
pil_img = Image(filename='data/empire.jpg')
display(pil_img)来自PIL.Image对象
由于OP的要求是使用PIL,如果要显示内联图像,也可以在numpy.asarray中使用matplotlib.pyplot.imshow,如下所示:
from matplotlib.pyplot import imshow
import numpy as np
from PIL import Image
%matplotlib inline
pil_im = Image.open('data/empire.jpg', 'r')
imshow(np.asarray(pil_im))如果您只需要预览而不需要内联,您可以这样使用show:
pil_im = Image.open('data/empire.jpg', 'r')
pil_im.show()发布于 2018-06-06 14:57:40
使用IPython显示器在笔记本中呈现PIL图像。
from PIL import Image # to load images
from IPython.display import display # to display images
pil_im = Image.open('path/to/image.jpg')
display(pil_im)发布于 2014-10-30 19:19:21
我发现这起作用了
# source: http://nbviewer.ipython.org/gist/deeplook/5162445
from io import BytesIO
from IPython import display
from PIL import Image
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']
dpi = png_formatter.for_type(Image.Image, display_pil_image)在这之后,我可以做:
pil_im但这必须是单元格中的最后一行,之后没有print。
https://stackoverflow.com/questions/26649716
复制相似问题