如何显示列表中存储的图像

时间:2019-06-10 15:56:51

标签: python python-imaging-library

我已将图像存储在列表中,但是无法使用display()

显示这些图像

我已将图像解压缩到文件夹中,并将这些图像存储在列表中。我试图查看图像,所以我使用了display()方法。系统显示我存在属性错误。

def unzip(path):
    """ return list of filenames inside of the zip folder"""
    global imglist 
    imglist= []
    global namelist 
    namelist= []
    with ZipFile(path, 'r') as imgzip:
        namelist = imgzip.namelist()
        for im in imgzip.infolist():
            with imgzip.open(im) as image:
                opened_image = Image.open(image)
                #display(opened_image)
                #saved_image  = opened_image.save("readonly/"+im.filename)
                imglist.append(opened_image)    
        return imglist,namelist


small = 'readonly/small_img.zip'    

Imlist,Nmlist=unzip(small)
display(Imlist[1])

预期结果是RGB图像,但现在输出是:

  

AttributeError:'NoneType'对象没有属性'seek'

1 个答案:

答案 0 :(得分:0)

Image.open实际上没有读取数据:

  

打开并标识给定的图像文件。

     

这是一个懒惰的操作;此功能可识别文件,但   文件保持打开状态,并且未从文件中读取实际图像数据   直到您尝试处理数据(或调用load()方法)。

当脚本离开上下文管理器范围(with imgzip.open(im) as image:)时,zip文件将关闭。