def load_data(width_height=192, num_points=1, input_directory='data/inputs/', mask_directory='data/masks/'): def simplify_masks(masks): # Merge mask classes BACKGROUND = np.array([0, 0, 170]) WALL = np.array([0, 0, 255]) DOOR = np.array([0, 170, 255]) WINDOW = np.array([0, 85, 255]) new_list = [] for picture in masks: # new_picture = deepcopy(picture) width, height, _ = picture.shape new_picture = np.zeros((width, height, 4)) for x in range(width): for y in range(height): rgb = picture[x][y] if np.allclose(rgb, WALL): new_picture[x][y][1] = 1 elif np.allclose(rgb, DOOR): new_picture[x][y][2] = 1 elif np.allclose(rgb, WINDOW): new_rgb = WINDOW new_picture[x][y][3] = 1 else: new_picture[x][y][0] = 1 new_list.append(new_picture) return new_list print('Preparing input dataset...') inputs = chicken.get_images(input_directory) inputs = inputs + chicken.fliplr(inputs) inputs = chicken.resize_and_smart_crop_square(inputs, width_height) inputs = inputs[:num_points] inputs = np.array(inputs) print('Preparing mask dataset...') masks = chicken.get_images(mask_directory) masks = masks + chicken.fliplr(masks) masks = chicken.resize_and_smart_crop_square(masks, width_height) masks = masks[:num_points] masks = simplify_masks(masks) masks = np.array(masks) print('Data loaded') return inputs, masks
def load_data(self): print('Loading Data...') images = chicken.get_images('data64/') data2d = chicken.grayscale_to_2d(images) data2d = np.reshape(data2d, (-1, 64, 64, 1)) data2d = np.array(data2d, dtype=np.float32) data2d = data2d / 255 print('shape:', data2d.shape) # print('sample image:', data2d[0]) print('Data Loaded.') return data2d
def check_largest_dimensions(input_directory='data/masks/'): inputs = chicken.get_images(input_directory) largest_w = 0 largest_h = 0 for image in inputs: shape = image.shape width = shape[0] height = shape[1] largest_w = max(width, largest_w) largest_h = max(height, largest_h) print(largest_w, largest_h)