wake-up-neo.net

Come incorporare un'immagine o un'immagine nel taccuino jupyter, da un computer locale o da una risorsa Web?

Vorrei includere l'immagine in un taccuino jupyter.

Se ho fatto quanto segue, funziona:

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

Ma vorrei includere le immagini in una cella markdown e il seguente codice dà un errore 404:

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

Ho anche provato

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

Ma ho ancora lo stesso errore:

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

Non è necessario utilizzare le virgolette attorno al nome dei file immagine in markdown!

Se leggi attentamente il tuo messaggio di errore, vedrai le due parti %22 nel link. Questa è la virgoletta codificata in html.

Devi cambiare la linea

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

a

![title](img/picture.png)

AGGIORNARE

Si presuppone che tu abbia la seguente struttura di file e che tu esegua il comando jupyter notebook nella directory in cui è memorizzato il file example.ipynb (<- contiene il markdown per l'immagine):

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

Esistono diversi modi per pubblicare un'immagine nei taccuini Jupyter:

via HTML:

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

Manterrai la possibilità di utilizzare tag HTML per ridimensionarli, ecc ...

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

È inoltre possibile visualizzare le immagini memorizzate localmente, tramite percorso relativo o assoluto.

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

se l'immagine è più ampia delle impostazioni di visualizzazione: grazie

usa unconfined=True per disabilitare il confinamento della larghezza massima dell'immagine

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

o tramite markdown:

(assicurati che la cella sia una cella di markdown, e non una cella di codice, grazie @ 游 凯 超 nei commenti)

per un'immagine web:

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

come mostrato da @cristianmtr Prestando attenzione a non utilizzare queste virgolette "" o quelle '' attorno all'URL.

o locale:

![title](img/picture.png)

dimostrato da @Sebastian

158

In alternativa, puoi usare un semplice <img src> HTML, che ti permette di cambiare altezza e larghezza e viene letto ancora dall'interprete markdown:

<img src="subdirectory/MyImage.png",width=60,height=60>
49
Alistair

Sono sorpreso che nessuno qui abbia menzionato l'opzione magica delle celle html. da docs (IPython, ma lo stesso per Jupyter)

%% html

Render the cell as a block of HTML
12
Malik A. Rumi

In aggiunta alle altre risposte usando l'HTML (in Markdown o usando la magia %%HTML:

Se devi specificare l'altezza dell'immagine, questo non funzionerà:

<img src="image.png" height=50> <-- will not work

Questo perché lo stile CSS in Jupyter utilizza height: auto per impostazione predefinita per i tag img, che sovrascrivono l'attributo height HTML. Hai bisogno di sovrascrivere invece l'attributo height CSS:

<img src="image.png" style="height:50px"> <-- works
10
Haffael

Ecco come puoi farlo con Markdown:

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

Se si desidera utilizzare l'API di Jupyter Notebook (e non quella di IPython), trovo il ipywidgets sottoprogetto di Jupyter. Hai un widget Image. Docstring specifica che hai un parametro value che è un byte. Quindi puoi fare:

import requests
from ipywidgets import Image

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

Sono d'accordo, è più semplice usare lo stile Markdown. Ma ti mostra l'API per notebook con display Image. È anche possibile ridimensionare l'immagine con i parametri width e height.

9
dag

Ecco una soluzione per Jupyter e Python3 :

Ho lasciato cadere le mie immagini in una cartella chiamata ImageTest. La mia directory è:

C:\Users\MyPcName\ImageTest\image.png

Per mostrare l'immagine ho usato questa espressione:

![title](/notebooks/ImageTest/image.png "ShowMyImage")

Fai attenzione anche a/and\

6
BlindSide

So che questo non è del tutto pertinente, ma dal momento che questa risposta è classificata in primo luogo molte volte quando cerchi " come visualizzare le immagini in Jupyter ", considera anche questa risposta.

Potresti usare matplotlib per mostrare un'immagine come segue.

import matplotlib.pyplot as plt
import matplotlib.image as mpimg
image = mpimg.imread("your_image.png")
plt.imshow(image)
plt.show()
5
Rohith R Nair

Questo funziona per me in una cella di markdown. In qualche modo non ho bisogno di menzionare specificamente se si tratta di un'immagine o di un file semplice.

![](files/picture.png)
4
Pranav Pandit

Una cosa che ho trovato è che il percorso della tua immagine deve essere relativo al luogo in cui il notebook è stato originariamente caricato. se si esegue il cd in una directory diversa, ad esempio Pictures, il percorso di Markdown è ancora relativo alla directory di caricamento originale.

1
cybervigilante