python - insertar - ¿Cómo incrustar una imagen o una imagen en el jupyter notebook, ya sea desde una máquina local o desde un recurso web?
paste image in jupyter (12)
Me gustaría incluir la imagen en un cuaderno 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")
También 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
Inserte la imagen directamente en el cuaderno Jupyter.
Nota: debe tener una copia local de la imagen en su computadora
Puede insertar la imagen en el cuaderno Jupyter. De esta manera, no necesita mantener la imagen por separado en la carpeta.
Pasos:
-
Convierta la celda a
markdown
por:-
presionando M en la celda seleccionada
O
-
Desde la barra de menú, Celda> Tipo de celda> Markdown.
( Nota: es importante convertir la celda a Markdown, de lo contrario, la opción "Insertar imagen" en el Paso 2 no estará activa)
-
presionando M en la celda seleccionada
-
Ahora ve a la barra de menú y selecciona Editar -> Insertar imagen.
-
Seleccione la imagen de su disco y cárguela.
-
Presione Ctrl + Enter o Shift + Enter .
Esto hará que la imagen sea parte del cuaderno y no necesita cargarla en el directorio o Github. Siento que esto se ve más limpio y no propenso a un problema de URL roto.
¡No debe usar comillas alrededor del nombre de los archivos de imagen en markdown!
Si lee atentamente su mensaje de error, verá las dos partes
%22
en el enlace.
Esa es la comilla codificada html.
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 comando
jupyter notebook
en el directorio donde está almacenado el archivo
example.ipynb
(<- contiene el descuento para la imagen):
/
+-- example.ipynb
+-- img
+-- picture.png
Además de las otras respuestas usando HTML (ya sea en Markdown o usando la magia
%%HTML
:
Si necesita especificar la altura de la imagen, esto no funcionará:
<img src="image.png" height=50> <-- will not work
Esto se debe a que el estilo CSS en Jupyter usa
height: auto
por defecto para las etiquetas
img
, que anula el atributo HTML height.
En su lugar, debe sobrescribir el atributo de
height
CSS:
<img src="image.png" style="height:50px"> <-- works
Alternativamente, puede usar un HTML simple
<img src>
, que le permite cambiar la altura y el ancho y aún lo lee el intérprete markdown:
<img src="subdirectory/MyImage.png",width=60,height=60>
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/image.png
Para mostrar la imagen, utilicé esta expresión:
![title](/notebooks/ImageTest/image.png "ShowMyImage")
También ten cuidado con
/
y
/
Así es como puedes hacerlo con Markdown:
![Image of Yaktocat](https://octodex.github.com/images/yaktocat.png)
Esto funciona para mí en una celda de descuento. De alguna manera, no necesito mencionar específicamente si es una imagen o un archivo simple.
![](files/picture.png)
Hay varias formas 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")
Conserva la capacidad de usar etiquetas HTML para cambiar el tamaño, etc.
Image(url= "http://my_site.com/my_picture.jpg", width=100, height=100)
También puede mostrar 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 la pantalla: thanks
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 mediante descuento:
(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 lo muestra @cristianmtr Prestando atención para no usar estas comillas
""
o las que están alrededor de la url.
o uno local:
![title](img/picture.png)
demostrado por @Sebastian
Me sorprende que nadie haya mencionado la opción mágica de celdas html. de los docs (IPython, pero lo mismo para Jupyter)
%% html
Render the cell as a block of HTML
Sé que esto no es completamente relevante, pero dado que esta respuesta se clasifica primero muchas veces cuando busca '' cómo mostrar imágenes en Jupyter '', considere esta respuesta también.
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_image.png")
plt.imshow(image)
plt.show()
Si desea utilizar la API de Jupyter Notebook (y ya no la de IPython), encuentro el
ipywidgets
Jupyter.
Tienes un widget de
Image
.
Docstring especifica que tiene un parámetro de
value
que es un byte.
Entonces 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 simple usar el estilo Markdown.
Pero le muestra la API de Notebook de visualización de imágenes.
También puede cambiar el tamaño de la imagen con los parámetros
width
y
height
.
Una cosa que encontré es que la ruta de su imagen debe ser relativa a donde se cargó originalmente la computadora portátil. Si realiza un CD a un directorio diferente, como Imágenes, su ruta de Markdown todavía es relativa al directorio de carga original.