【问题标题】:Serial output of Python imagesPython图像的串行输出
【发布时间】:2021-11-12 04:56:27
【问题描述】:

如何在 Spyder 中按顺序渲染图像?此刻,原来只显示最后一张图片

from skimage.io import imread, imshow

img_5 = imread('C:/abc1.png')
imshow(img_5)

img_6 = imread('C:/abc2.png')
imshow(img_6)

【问题讨论】:

    标签: python image imshow imread


    【解决方案1】:

    我没有在spyder中尝试过,但是你可以检查一下:

    imshow(img_5, block=False)
    

    不要在最后一个情节中使用block=False,否则脚本完成后情节将关闭。

    【讨论】:

    • 我看到AttributeError: 'AxesImage' object has no property 'block'
    • 你是如何运行你的脚本的?也许解决方案不是设置块参数。但也要导入from skimage.io import show 并在您的imshow 命令之后使用show
    • 我试过了,结果还是一样
    【解决方案2】:

    您可以使用from IPython.display import display 执行此操作,如下所示:

    from IPython.display import display, Image
    
    for img in ['C:/abc1.png', 'C:/abc2.png']:
        ima = Image(filename=img , width=300,height=200)
        display(ima)
    

    如果你想使用imshow,你可以使用plt.imshow,如下所示:

    import matplotlib.pyplot as plt
    from skimage.io import imread, imshow
    
    
    img_5 = imread('C:/abc1.png')
    plt.imshow(img_5)
    plt.show()
    
    img_6 = imread('C:/abc2.png')
    plt.imshow(img_6)
    plt.show()
    

    您可以使用opencv-python 来执行此操作,如下所示(如果您没有安装 opencv,请尝试以下代码:pip install opencv-python

    import cv2
    for img in ['C:/abc1.png', 'C:/abc2.png']:
        im = cv2.imread(img)
        im = cv2.cvtColor(im, cv2.COLOR_BGR2RGB)
        plt.imshow(im)
        plt.show()
    

    【讨论】:

      猜你喜欢
      • 2021-09-25
      • 1970-01-01
      • 2022-07-23
      • 2011-11-15
      • 2012-02-11
      • 2017-04-17
      • 2017-05-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多