如何在 Jupyter notebook (iPython) 中并排显示 2 张图像?

新手上路,请多包涵

我想在 iPython 中并排显示 2 个 PNG 图像。

我的代码是:

 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 个图像的占位符:

在此处输入图像描述

我也尝试了以下内容:

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

但结果是一样的:

在此处输入图像描述

图片肯定在路径中,因为我通过在弹出窗口中显示它们进行了验证:

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

它们确实出现在弹出窗口中。

如何让 2 张图像在 iPython 中并排显示?

原文由 Kristada673 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.7k
2 个回答

您可以尝试使用 matplotlib 。您可以使用来自 matplotlib 的 — mpimg.imread文档)将图像读取到 numpy 数组,然后您可以使用 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)

原文由 niraj 发布,翻译遵循 CC BY-SA 4.0 许可协议

matplotlib 是一个非常好的绘图工具,但我发现它对于我只需要一种快速简便的方法来显示更多图像的场景来说非常沉重和缓慢。

为了解决这个问题,我使用 了 IPyPlot 包

 import ipyplot

ipyplot.plot_images(images_list, max_images=20, img_width=150)

你会得到一个类似这样的情节:

在此处输入图像描述

原文由 Karol Żak 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题