Created
March 1, 2018 05:18
-
-
Save PyPatel/fb3b21e25ea332ea56155a696de8fc42 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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