如何使用 IPython 显示连续显示图像?

新手上路,请多包涵

如果我执行以下命令:

 for file in files:
    display(Image(filename=os.path.join(folder,file)))

我在一列中得到图像列表:

在此处输入图像描述

如何将它们排成一排(水平)?

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

阅读 484
2 个回答

这对我有用:

 from matplotlib.pyplot import figure, imshow, axis
from matplotlib.image import imread

def showImagesHorizontally(list_of_files):
    fig = figure()
    number_of_files = len(list_of_files)
    for i in range(number_of_files):
        a=fig.add_subplot(1,number_of_files,i+1)
        image = imread(list_of_files[i])
        imshow(image,cmap='Greys_r')
        axis('off')

在此处输入图像描述

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

您还可以使用 HTML:

 from IPython.display import display, HTML
def make_html(folder, image):
     return '<img src="{}" style="display:inline;margin:1px"/>'
            .format(os.path.join(folder, image))

display(HTML(''.join(make_html(f, x)) for x in files))

在我的例子中,通过设置边距将修复未对齐(并且恕我直言会产生更好的结果)。

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

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