¿Cómo incrustar una imagen o una imagen en una notebook jupyter, ya sea desde una máquina local o desde un recurso web?

Me gustaría incluir la imagen en un cuaderno de jupyter.

Si hice lo siguiente, funciona:

from IPython.display import Image Image("img/picture.png") 

Pero me gustaría incluir las imágenes en una celda de reducción y el siguiente código da un error 404:

 ![title]("img/picture.png") 

Yo tambien lo intenté

 ![texte]("http://localhost:8888/img/picture.png") 

Pero sigo teniendo el mismo error:

 404 GET /notebooks/%22/home/user/folder/img/picture.png%22 (127.0.0.1) 2.74ms referer=http://localhost:8888/notebooks/notebook.ipynb 

¡No debe usar comillas alrededor del nombre de los archivos de imagen en markdown!

Si leyó cuidadosamente su mensaje de error, verá las dos partes del %22 en el enlace. Esa es la comilla html codificada.

Tienes que cambiar la linea

 ![title]("img/picture.png") 

a

 ![title](img/picture.png) 

ACTUALIZAR

Se supone que tiene la siguiente estructura de archivos y que ejecuta el jupyter notebook en el directorio donde está almacenado el archivo example.ipynb (<- contiene la marca para la imagen):

 / +-- example.ipynb +-- img +-- picture.png 

Hay varias maneras de publicar una imagen en los cuadernos Jupyter:

a través de HTML:

 from IPython.display import Image from IPython.core.display import HTML Image(url= "http://my_site.com/my_picture.jpg") 

Usted conserva la capacidad de usar tags HTML para cambiar el tamaño, etc.

 Image(url= "http://my_site.com/my_picture.jpg", width=100, height=100) 

También puede visualizar imágenes almacenadas localmente, ya sea a través de una ruta relativa o absoluta.

 PATH = "/Users/reblochonMasque/Documents/Drawings/" Image(filename = PATH + "My_picture.jpg", width=100, height=100) 

si la imagen es más ancha que la configuración de pantalla: gracias

use unconfined=True para deshabilitar el confinamiento de ancho máximo de la imagen

 from IPython.core.display import Image, display display(Image('https://i.ytimg.com/vi/j22DmsZEv30/maxresdefault.jpg', width=1900, unconfined=True)) 

o vía markdown:

(Asegúrese de que la celda sea una celda de rebaja, y no una celda de código, gracias @ 游 凯 en los comentarios)

para una imagen web:

 ![Image of Yaktocat](https://octodex.github.com/images/yaktocat.png) 

como se muestra en @cristianmtr. Preste atención a no usar estas comillas "" o esas '' alrededor de la url.

o uno local:

 ![title](img/picture.png) 

demostrado por @Sebastian

Alternativamente, puede usar un HTML simple , que le permite cambiar la altura y el ancho y aún es leído por el intérprete de markdown:

  

Me sorprende que nadie aquí haya mencionado la opción de magia con celdas html. de los documentos (IPython, pero igual para Jupyter)

%% html

 Render the cell as a block of HTML 

Así es como puedes hacerlo con Markdown:

 ![Image of Yaktocat](https://octodex.github.com/images/yaktocat.png) 

Si desea utilizar la API de Jupyter Notebook (y no la IPython una más), encuentro el subproyecto de Jupyter ipywidgets . Tienes un widget de Image . Docstring especifica que tiene un parámetro de value que es un byte. Así que puedes hacer:

 import requests from ipywidgets import Image Image(value=requests.get('https://octodex.github.com/images/yaktocat.png').content) 

Estoy de acuerdo, es más sencillo usar el estilo Markdown. Pero te muestra la pantalla de visualización de imágenes de la API. También puede cambiar el tamaño de la imagen con los parámetros de width y height .

Además de las otras respuestas que usan HTML (ya sea en Markdown o usando la magia %%HTML :

Si necesita especificar la altura de la imagen, esto no funcionará:

  <-- will not work 

Esto se debe a que el estilo CSS en Jupyter usa height: auto por defecto para las tags img , que anula el atributo de altura HTML. Necesitas sobrescribir el atributo de height CSS en su lugar:

  <-- works 

Aquí hay una solución para Jupyter y Python3 :

Dejé caer mis imágenes en una carpeta llamada ImageTest . Mi directorio es:

 C:\Users\MyPcName\ImageTest\https://stackoverflow.com/questions/32370281/how-to-embed-image-or-picture-in-jupyter-notebook-either-from-a-local-machine-o/image.png 

Para mostrar la imagen utilicé esta expresión:

 ![title](/notebooks/ImageTest/https://stackoverflow.com/questions/32370281/how-to-embed-image-or-picture-in-jupyter-notebook-either-from-a-local-machine-o/image.png "ShowMyImage") 

También ten cuidado con / y \

Esto funciona para mí en una celda de rebajas. De alguna manera no necesito mencionar específicamente si es una imagen o un archivo simple.

 ![](files/picture.png) 

Sé que esto no es del todo relevante, pero como esta respuesta ocupa el primer lugar muchas veces cuando busca ‘ cómo mostrar imágenes en Jupyter ‘, también considere esta respuesta.

Puede usar matplotlib para mostrar una imagen de la siguiente manera.

 import matplotlib.pyplot as plt import matplotlib.image as mpimg image = mpimg.imread("your_https://stackoverflow.com/questions/32370281/how-to-embed-image-or-picture-in-jupyter-notebook-either-from-a-local-machine-o/image.png") plt.imshow(image) plt.show() 

Una cosa que encontré es que la ruta de su imagen debe ser relativa a donde se cargó originalmente el portátil. Si va a un directorio diferente, como Imágenes, su ruta de Markdown sigue siendo relativa al directorio de carga original.