Как сделать так, чтобы 2 изображения появлялись рядом в ноутбуке Jupyter (iPython)? - PullRequest
0 голосов
/ 28 мая 2018

Я хочу отображать 2 изображения PNG в iPython рядом.

Мой код для этого:

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>"))

Но он не выводит изображения, а толькоотображает заполнители для 2 изображений:

enter image description here

Я также попробовал следующее:

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

Но результат тот же:

enter image description here

Изображения точно в пути, потому что я подтвердил, отобразив их во всплывающем окне:

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

и они появляются во всплывающих окнах.

Как сделать так, чтобы 2 изображения отображались рядом в iPython?

Ответы [ 2 ]

0 голосов
/ 28 мая 2018

Вы можете попробовать использовать matplotlib.Вы можете прочитать изображение в массив numpy, используя mpimg.imread ( документация ) из matplotlib, затем вы можете использовать subplots ( документация ) и для создания двух столбцов для рисунков и, наконец, imshow ( документирование ) для отображения изображений.

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);
0 голосов
/ 28 мая 2018

Я смог напечатать их один над другим, вот так:

from IPython.display import Image, display

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

Но я все еще не могу отобразить их рядом.

РЕДАКТИРОВАТЬ: Это делает это.

...