import tensorflow as tf from PIL import Image import numpy as np import cv2 import os def load_sample(sample_dir): print('loading sample dataset..') train_data = [] labels = [] #root所指的是当前正在遍历的这个文件夹的本身的地址 #dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录) #file同样是 list , 内容是该文件夹中所有的文件(不包括子目录) for (root, dirs, files) in os.walk(sample_dir):#递归遍历文件夹 for filename in files: #遍历所有文件名 filename_path = root+'/'+ filename # img=Image.open(filename_path) # img = np.array(img.convert('L')) img=cv2.imread(filename_path,0) img=np.array(img) img=img/225 train_data.append(img) #添加文件名 labels.append(root.split('\')[-1]) # 添加文件名对应的标签 x = np.array(train_data) # 变为np.array格式 y= np.array(labels) # 变为np.array格式 y = y.astype(np.int64) # 变为64位整型 return x,y path='F:\tf\11\' path_save='F:/tf/mat.npy' image,label=load_sample(path) x_train_save = np.reshape(image, (len(image), -1)) np.save(path_save, x_train_save)