Skip to content
Branch: master
Find file Copy path
Find file Copy path
abhijeet3922 add script to convert npy tp jpg 6524483 Nov 27, 2018
0 contributors

Users who have contributed to this file

58 lines (44 sloc) 1.66 KB
This script creates 3-channel gray images from FER 2013 dataset.
It has been done so that the CNNs designed for RGB images can
be used without modifying the input shape.
This script requires two command line parameters:
1. The path to the CSV file
2. The output directory
It generates the images and saves them in three directories inside
the output directory - Training, PublicTest, and PrivateTest.
These are the three original splits in the dataset.
import os
import csv
import argparse
import numpy as np
import scipy.misc
parser = argparse.ArgumentParser()
parser.add_argument('-f', '--file', required=True, help="path of the csv file")
parser.add_argument('-o', '--output', required=True, help="path of the output directory")
args = parser.parse_args()
w, h = 48, 48
image = np.zeros((h, w), dtype=np.uint8)
id = 1
with open(args.file) as csvfile:
datareader = csv.reader(csvfile, delimiter =',')
for row in datareader:
emotion = row[0]
pixels = row[1].split()
usage = row[2]
pixels_array = np.asarray(pixels,
image = pixels_array.reshape(w, h)
#print image.shape
stacked_image = np.dstack((image,) * 3)
#print stacked_image.shape
image_folder = os.path.join(args.output, usage)
if not os.path.exists(image_folder):
image_file = os.path.join(image_folder , str(id)+'_'+emotion+'.jpg')
scipy.misc.imsave(image_file, stacked_image)
id += 1
if id % 100 == 0:
print('Processed {} images'.format(id))
print("Finished processing {} images".format(id))
You can’t perform that action at this time.