def transform_bb_after_resize()

in sagemaker/src/utils.py [0:0]


def transform_bb_after_resize(bb, border_bb, input_image_size, resized_image_size):
    (x1, y1, x2, y2) = (bb[:, 0], bb[:, 1], bb[:, 2], bb[:, 3])

    border_bb = [border_bb[0] * resized_image_size[1],
                border_bb[1] * resized_image_size[0],
                border_bb[2] * resized_image_size[1],
                border_bb[3] * resized_image_size[0]]

    (x1, y1, x2, y2) = (x1 * border_bb[2],
                        y1 * border_bb[3],
                        x2 * border_bb[2],
                        y2 * border_bb[3])

    x_offset = border_bb[0]
    y_offset = border_bb[1]

    new_x1 = (x1 + x_offset) / resized_image_size[1]
    new_y1 = (y1 + y_offset) / resized_image_size[0]
    new_x2 = (x2 + x_offset) / resized_image_size[1]
    new_y2 = (y2 + y_offset) / resized_image_size[0]

    new_bbs = np.zeros(shape=bb.shape)
    new_bbs[:, 0] = new_x1
    new_bbs[:, 1] = new_y1
    new_bbs[:, 2] = new_x2
    new_bbs[:, 3] = new_y2

    return new_bbs