从 Python 中的目录读取所有图像并尝试将其存储在数组中

Read All images from directory in Python and try to store it in array

读取目录

files= os.listdir(Datadir)
print(files)

这是我的全部类

Classes = ['happy', 'surprise', 'fear', 'angry', 'neutral', 'sad', 'disgust']

我想读取所有数据并将其存储在数组中 Training_data = []

def create_training_Data():
for category in Classes:
    class_num = Classes.index(category)
    labels = class_num
    
    
    total=Datadir+'/'+category
    Files= os.listdir(total)
    
for img in Files:
    file_main=total+'/'+img
    print(file_main+"   "+str(label))
    img_array = cv2.imread(file_main)
    new_array = cv2.resize(img_array, (img_size,img_size))
    Training_data.append([new_array,class_num])

那一行代码只能读“厌恶”这个类数据

哪里错了请帮帮我,有什么建议给我。提前致谢

试试这个:

def create_training_Data():
    for category in Classes:
        class_num = Classes.index(category)
        labels = class_num


        total=Datadir+'/'+category
        Files= os.listdir(total)

        for img in Files:
            file_main=total+'/'+img
            print(file_main+"   "+str(label))
            img_array = cv2.imread(file_main)
            new_array = cv2.resize(img_array, (img_size,img_size))
            Training_data.append([new_array,class_num])
 Training_data = []

def create_training_Data():
for category in files:
    class_num = Classes.index(category)
    label = class_num        
    
    total=Datadir+'/'+category
    Files= os.listdir(total)
    
    for img in Files:           
        try:
            file_main=total+'/'+img
            print(file_main+"   "+str(label))
            old_image= cv2.imread(file_main)
            new_image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
            new_image= cv2.resize(image,(48,48))
            Training_data.append([new_image,label])
        except Exception as e:
            pass

这行代码对我有用。这些代码行将与 exception/error 处理一起使用。