def read_fold(fold_csv_prefix,fold_image_prefix,fold_names):
width = 256
height = 256
i=0
for fold in fold_names:
print("Reading fold: %s" % fold)
df = pd.read_csv(fold_csv_prefix+fold+'.csv')
inputimages = []
genders = []
ages = []
for index, row in df.iterrows():
yaw_angle = row['fiducial_yaw_angle']
gender = row['gender']
age = row['age']
if ((gender!='u') and (gender!='Nan') and (age!='None') and (gender!=' ') and (age!=' ') and (yaw_angle >= -45) and (yaw_angle <= 45)):
folder_name = row['user_id']
image_name = row['original_image']
face_id = row['face_id']
age_tuple = make_tuple(age)
age_id = get_age_range_id(age_tuple)
image_path = fold_image_prefix+folder_name+'/landmark_aligned_face.'+str(face_id)+'.'+image_name
image = Image.open(image_path)
#Resize image
image = image.resize((width, height), PIL.Image.ANTIALIAS)
image_arr = np.array(image)
#image_arr = exposure.equalize_hist(image_arr)
if(gender == 'm'):
g=0
else:
g=1
inputimages.append(image_arr)
genders.append(g)
ages.append(age_id)
print('Done: {0}/{1} folds'.format(i, len(fold_names)))
i=i+1
print ('Fold Name: %s' % fold)
print ('Images: %i, Gender: %i, Ages: %i' % (len(inputimages), len(genders), len(ages)))
print ('')
currDict = {'fold_name': fold, 'images': inputimages, 'genders': genders, 'ages': ages}
save_pickle(currDict,fold, '/home/narita/Documents/pythonworkspace/data-science-practicum/gender-age-classification/gender_neutral_data/')
create_gender_neutral_data.py 文件源码
python
阅读 19
收藏 0
点赞 0
评论 0
评论列表
文章目录