Skip to content

Instantly share code, notes, and snippets.

@PyPatel
Created March 1, 2018 05:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save PyPatel/fb3b21e25ea332ea56155a696de8fc42 to your computer and use it in GitHub Desktop.
Save PyPatel/fb3b21e25ea332ea56155a696de8fc42 to your computer and use it in GitHub Desktop.
import os
import numpy as np
from scipy.misc import imread, imresize
import hickle as hkl
import numpy as np
from kitti_settings import *
#Optput image size
desired_im_sz = (128, 160)
# Create image datasets.
# For one set in GTA we have 2500 images
im_files = []
im_files = sorted(os.listdir(DATA_DIR))
im_tr_list = im_files[:int(len(im_files)*0.80)]
im_te_list = im_files[int(len(im_files)*0.80):int(len(im_files)*0.95)]
im_ve_list = im_files[int(len(im_files)*0.95):int(len(im_files)*1)]
source_train = list(np.full((int(len(im_files)*0.80)), DATA_DIR))
source_test = list(np.full((int(len(im_files)*0.15)), DATA_DIR))
source_val = list(np.full((int(len(im_files)*0.05)), DATA_DIR))
def process_data():
### Training Data Processing ###
print "Processing " + str(int(len(im_files)*0.80)) + " training images"
X = np.zeros((len(im_tr_list),) + desired_im_sz + (3,), np.uint8)
for i, im_file in enumerate(im_tr_list):
im = imread(DATA_DIR + im_file)
X[i] = process_im(im, desired_im_sz)
hkl.dump(X,os.path.join(DATA_DIR, 'X_' + 'train.hkl'))
hkl.dump(source_train, os.path.join(DATA_DIR, 'sources_train.hkl'))
### Testing Data Processing ###
print "Processing " + str(int(len(im_files)*0.15)) + " testing images"
X = np.zeros((len(im_te_list),) + desired_im_sz + (3,), np.uint8)
for i, im_file in enumerate(im_te_list):
im = imread(DATA_DIR + im_file)
X[i] = process_im(im, desired_im_sz)
hkl.dump(X,os.path.join(DATA_DIR, 'X_' + 'test.hkl'))
hkl.dump(source_test, os.path.join(DATA_DIR, 'sources_test.hkl'))
### Validation Data Processing ###
print "Processing " + str(int(len(im_files)*0.05)) + " Validation images"
X = np.zeros((len(im_ve_list),) + desired_im_sz + (3,), np.uint8)
for i, im_file in enumerate(im_ve_list):
im = imread(DATA_DIR + im_file)
X[i] = process_im(im, desired_im_sz)
hkl.dump(X,os.path.join(DATA_DIR, 'X_' + 'val.hkl'))
hkl.dump(source_val, os.path.join(DATA_DIR, 'sources_val.hkl'))
# resize and crop image
def process_im(im, desired_sz):
target_ds = float(desired_sz[0])/im.shape[0]
im = imresize(im, (desired_sz[0], int(np.round(target_ds * im.shape[1]))))
d = int((im.shape[1] - desired_sz[1]) / 2)
im = im[:, d:d+desired_sz[1]]
return im
if __name__ == '__main__':
process_data()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment