从文件路径读取图片,将图片的数组存为npz格式。
数据集:人脸卡通表情FERG数据,包含6个卡通人物,每个卡通人物7个表情,每张图片256*256的png格式,数据集压缩包大小2.95GB。
图片路径tree:
数据集的85%为训练集,15%为测试集
代码如下:
'''
id存索引,ep存索引,image存矩阵
将图片预处理为numpy数组,存储于.npz
'''
import time
from numpy import *
import cv2
from keras.utils.np_utils import *
import os
os.environ["TF_CPP_MIN_LOG_LEVEL"]="3"
from keras.preprocessing.image import img_to_array
import matplotlib.pyplot as plt
ratio = 0.15 #按照ratio划分测试集、训练集,ratio:测试集的比例 15%
ep = ['anger', 'disgust', 'fear', 'joy', 'neutral', 'sadness', 'surprise']
id=['aia','bonnie','jules','malcolm','mery','ray']
dataset_dir = 'E:/code/dataset/FERG_DB_256/'
def get_file(file_dir,id_item):
anger = []
label_anger = []
disgusted = []
label_disgusted = []
fearful = []
label_fearful = []
joy = []
label_joy = []
neutral = []
label_neutral = []
sadness = []
label_sadness = []
surprised = []
label_surprised = []
# 定义存放测试集、训练集图片地址、标签的list
x_train = []
ep_train = []
x_test = []
ep_test = []
count = 0
# step1:获取路径下所有的图片路径名,存放到
for file in os.listdir(file_dir + '/'+id_item+'_anger'):
if not file.endswith('.png'):
continue
count = count + 1
if count > 1000:
break
anger.