代码之家  ›  专栏  ›  技术社区  ›  Spandyie

如何将文件夹中的多个PPM文件作为单个Numpy ndarray加载?

  •  -1
  • Spandyie  · 技术社区  · 7 年前

    K x M x N x 3 K 是图像的索引,并且 M x N x 3 是个体形象的维度。我如何修改现有代码才能做到这一点?

        image_list=[]
        for filename in glob.glob(path+"/*.ppm"):
            img = imread(filename,mode='RGB')
            temp_img = img.reshape(img.shape[0]*img.shape[1]*img.shape[2],1)
            image_list.append(temp_img)
    
    1 回复  |  直到 7 年前
        1
  •  2
  •   Divakar    7 年前

    您可以初始化该形状的输出数组,一旦进入循环,索引到第一个轴以迭代地分配图像数组-

    out = np.empty((K,M,N,3), dtype=np.uint8) # change dtype if needed
    for i,filename in enumerate(glob.glob(path+"/*.ppm")):
        # Get img of shape (M,N,3)
        out[i] = img
    

    如果你不知道 K 事先,我们可以用 len(glob.glob(path+"/*.ppm"))