web-dev-qa-db-fra.com

Comment intégrer une image ou une image dans le cahier jupyter, à partir d'un ordinateur local ou d'une ressource Web?

Je voudrais inclure l'image dans un cahier Jupyter.

Si je fais ce qui suit, ça marche:

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

Mais je voudrais inclure les images dans une cellule de démarque et le code suivant donne une erreur 404:

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

J'ai aussi essayé

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

Mais je reçois toujours la même erreur:

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

Vous ne devez pas utiliser de guillemets autour du nom des fichiers image dans Markdown!

Si vous lisez attentivement votre message d'erreur, vous verrez les deux parties %22 dans le lien. C'est le guillemet codé en html.

Vous devez changer la ligne

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

à

![title](img/picture.png)

UPDATE

Il est supposé que vous avez la structure de fichier suivante et que vous exécutez la commande jupyter notebook dans le répertoire où le fichier example.ipynb (<- contient le démarquage de l’image) est stocké:

/
+-- example.ipynb
+-- img
    +-- picture.png
242
Sebastian Stigler

Il existe plusieurs façons de publier une image dans les cahiers Jupyter:

via HTML:

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

Vous conservez la possibilité d'utiliser des balises HTML pour redimensionner, etc.

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

Vous pouvez également afficher des images stockées localement, via un chemin relatif ou absolu.

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

si l'image est plus large que les paramètres d'affichage: merci

utilisez unconfined=True pour désactiver le confinement de l’image en largeur maximale

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

ou via démarquage:

(assurez-vous que la cellule est une cellule de démarque, et non une cellule de code, merci @ 游 dans les commentaires)

pour une image Web:

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

comme indiqué par @cristianmtr En faisant attention à ne pas utiliser ces guillemets "" ni ceux '' autour de l'URL.

ou local:

![title](img/picture.png)

démontré par @Sebastian

175
Reblochon Masque

Vous pouvez également utiliser un code HTML brut <img src>, qui vous permet de modifier la hauteur et la largeur et est toujours lu par l'interpréteur de démarques:

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

Je suis surpris que personne ici n'ait mentionné l'option magique de cellule html. depuis le docs (IPython, mais pareil pour Jupyter)

%% html

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

Outre les autres réponses utilisant HTML (soit dans Markdown, soit à l'aide de la magie %%HTML:

Si vous devez spécifier la hauteur de l'image, cela ne fonctionnera pas:

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

En effet, le style CSS de Jupyter utilise height: auto par défaut pour les balises img, qui remplace l'attribut HTML height. Vous devez plutôt remplacer l’attribut CSS height:

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

Je sais que cela n’est pas tout à fait pertinent, mais puisque cette réponse est classée première à de nombreuses reprises lorsque vous effectuez une recherche 'comment afficher des images dans Jupyter', réfléchissez également à cette réponse.

Vous pouvez utiliser matplotlib pour afficher une image comme suit.

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

Voici comment vous pouvez le faire avec Markdown:

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

Si vous voulez utiliser l'API Jupyter Notebook (et non celle IPython), je trouve le sous-projet ipywidgets Jupyter. Vous avez un widget Image. Docstring spécifie que vous avez un paramètre value qui est un octet. Alors tu peux faire:

import requests
from ipywidgets import Image

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

Je suis d'accord, il est plus simple d'utiliser le style Markdown. Mais il vous montre l’API Notebook Notebook. Vous pouvez également redimensionner l'image avec les paramètres width et height.

9
dag

Voici une solution pour Jupyter et Python:

J'ai déposé mes images dans un dossier nommé ImageTest. Mon répertoire est:

_C:\Users\MyPcName\ImageTest\image.png
_

Pour montrer l'image, j'ai utilisé cette expression:

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

Surveillez également / et \

6
BlindSide

Cela fonctionne pour moi dans une cellule de démarques. D'une manière ou d'une autre, je n'ai pas besoin de mentionner spécifiquement si c'est une image ou un simple fichier.

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

Une chose que j'ai trouvée est que le chemin de votre image doit être relatif à l'endroit d'où le cahier a été initialement chargé. si vous vous connectez à un autre répertoire, tel que Images, votre chemin de Markdown reste relatif par rapport au répertoire de chargement d'origine.

1
cybervigilante

Insérez l'image directement dans le bloc-notes Jupyter.

Remarque: vous devriez avoir une copie locale de l'image sur votre ordinateur

Vous pouvez insérer l'image dans le bloc-notes Jupyter lui-même. De cette façon, vous n'avez pas besoin de conserver l'image séparément dans le dossier.

Étapes:

  1. Convertissez la cellule en markdown en:

    • en appuyant sur M sur la cellule sélectionnée
      OU
    • Dans la barre de menus, Cell> Type de cellule> Markdown.
      (Remarque: Il est important de convertir la cellule en Markdown, sinon l'option "Insérer une image" de l'étape 2 ne sera pas active)
  2. Maintenant, allez dans la barre de menu et sélectionnez Édition -> Insérer une image.

  3. Sélectionnez une image sur votre disque et téléchargez-la.

  4. Presse Ctrl+Enter ou Shift+Enter.

Cela rendra l'image dans le cahier et vous n'aurez pas besoin de télécharger dans le répertoire ou Github. Je pense que cela semble plus propre et non sujet à un problème d'URL cassé.

0
Gaurav Modi