示例#1
0
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
示例#2
0
    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
示例#3
0
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)