web-dev-qa-db-fra.com

Comment faire apparaître deux images côte à côte dans le bloc-notes Jupyter (iPython)?

Je souhaite afficher 2 images PNG côte à côte dans l'iPython.

Mon code pour faire ceci est:

from IPython.display import Image, HTML, display

img_A = '\path\to\img_A.png'
img_B = '\path\to\img_B.png'

display(HTML("<table><tr><td><img src=img_A></td><td><img src=img_B></td></tr></table>"))

Mais il ne génère pas les images et affiche uniquement des espaces réservés pour les 2 images:

 enter image description here

J'ai aussi essayé le suivant:

s = """<table>
<tr>
<th><img src="%s"/></th>
<th><img src="%s"/></th>
</tr></table>"""%(img_A, img_B)
t=HTML(s)
display(t)

Mais le résultat est le même:

 enter image description here

Les images sont dans le chemin à coup sûr, car j'ai vérifié en les affichant dans une fenêtre contextuelle:

plt.imshow(img_A)
plt.imshow(img_B)

et ils apparaissent dans les pop-ups.

Comment faire en sorte que les 2 images apparaissent côte à côte dans iPython?

3
Kristada673

Vous pouvez essayer d'utiliser matplotlib. Vous pouvez lire une image dans le tableau numpy en utilisant mpimg.imread ( documentation ) de matplotlib. Vous pouvez ensuite utiliser subplots (documentation) et créer deux colonnes pour figures et enfin imshow (documetation) pour afficher des images.

import matplotlib.pyplot as plt
import matplotlib.image as mpimg
from matplotlib import rcParams

%matplotlib inline

# figure size in inches optional
rcParams['figure.figsize'] = 11 ,8

# read images
img_A = mpimg.imread('\path\to\img_A.png')
img_B = mpimg.imread('\path\to\img_B.png')

# display images
fig, ax = plt.subplots(1,2)
ax[0].imshow(img_A);
ax[1].imshow(img_B);
1
student

J'ai pu les imprimer les uns au dessus des autres comme ceci:

from IPython.display import Image, display

for img in [img_A, img_B]:
    display(Image(filename = img))

Mais je ne peux toujours pas les afficher côte à côte.

EDIT: Ceci le fait.

0
Kristada673