这是我的代码
from PIL import Image pil_im = Image.open('data/empire.jpg')
我想对它进行一些图像处理,然后在屏幕上显示它.
我在python笔记本中显示PIL图像有问题.
我试过了:
print pil_im
只是
pil_im
但两个人都给我:
Anzel.. 126
您可以使用IPython Module: display
来加载图像.您可以从Doc中阅读更多内容.
from IPython.display import Image Image(filename='data/empire.jpg')
作为OP的要求是使用PIL
,如果你想显示内嵌图像,你可以用matplotlib.pyplot.imshow
与numpy.asarray
这样太:
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()
不要从`IPython.core`导入任何东西它不是稳定的api,我们直接在`IPython.display`中公开了稳定的api.我自己编辑了这篇文章. (5认同)
sathyz.. 31
使用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)
如果您只想快速检查图像,则可以“退还”它以查看其值,然后该图像将自动显示 (2认同)
WebOrCode.. 19
我发现这很有效
# 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
它
您可以使用IPython Module: display
来加载图像.您可以从Doc中阅读更多内容.
from IPython.display import Image Image(filename='data/empire.jpg')
作为OP的要求是使用PIL
,如果你想显示内嵌图像,你可以用matplotlib.pyplot.imshow
与numpy.asarray
这样太:
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()
我发现这很有效
# 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
它
使用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)
案例python3
from PIL import Image from IPython.display import HTML from io import BytesIO from base64 import b64encode pil_im = Image.open('data/empire.jpg') b = BytesIO() pil_im.save(b, format='png') HTML("<img src='data:image/png;base64,{0}'/>".format(b64encode(b.getvalue()).decode('utf-8')))