读取形状为 [n, height, width, channels] 的图片数据集

read dataSet of picture with shape of [n, height, width, channels]

我有一个 2100 图片格式的基础 .tif 我想加载它来生成一个形状为 [2100,256,256,3] 的数据集但是给了我 [2100,1]

我想要这个形状 [n, height, width, channels]tesorflow train

中使用它
def datSetGenerator(path):
    classes = os.listdir(path)
    image_list = []
    for classe in classes:
        for filename in glob.glob(path+'/'+classe+'/*.tif'):
            image_list.append(cv2.imread(filename))
    return  np.array(image_list)

我尝试了 np.reshapematrix.reshape 但总是给我一个错误

获得数据集
的正确形状 如果所有图片的大小为[256,256,3],其中一张大小不同,则数据集的形状将为[n,]
所以我们需要将所有图片调整到相同的大小,得到 [n, height, weight, channels]

的形状
import numpy as np
import os
import glob
import cv2
def datSetGenerator(path):
    classes = os.listdir(path)
    image_list = []
    for classe in classes:
        for filename in glob.glob(path+'/'+classe+'/*.tif'):
            image_list.append(cv2.resize(cv2.imread(filename),(224, 224)))
    return np.array(image_list)


if __name__ == '__main__':

    # for testing the generator
    path = "C:/Users/[USERNAME]/Desktop/UCMerced_LandUse/Images/"
    data = datSetGenerator(path)
    print("\n data shape :",data.shape)

这是输出

data shape : (2100, 224, 224, 3)