Solución:
Puede utilizar IPython “s Module: display
para cargar la imagen. Puede leer más en el Doc.
from IPython.display import Image
pil_img = Image(filename="data/empire.jpg")
display(pil_img)
actualizado
Como requisito de OP es utilizar PIL
, si desea mostrar una imagen en línea, puede usar matplotlib.pyplot.imshow
con numpy.asarray
así también:
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))
Si solo necesita una vista previa en lugar de una en línea, puede usar show
como esto:
pil_im = Image.open('data/empire.jpg', 'r')
pil_im.show()
Utilice la pantalla IPython para representar imágenes PIL en un cuaderno.
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)
Encontré que esto está funcionando
# 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)
Después de esto, puedo hacer:
pil_im
Pero esta debe ser la última línea en la celda, sin print
después de
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)