Convert a bounding box from the format used by albumentations to a format, specified in `target_format`.

    Args:
        bbox (list): bounding box with coordinates in the format used by albumentations
        target_format (str): required format of the output bounding box. Should be 'coco' or 'pascal_voc'.
        rows (int): image height
        cols (int): image width
        check_validity (bool): check if all boxes are valid boxes

    Note:
        The `coco` format of a bounding box looks like `[x_min, y_min, width, height]`, e.g. [97, 12, 150, 200].
        The `pascal_voc` format of a bounding box looks like `[x_min, y_min, x_max, y_max]`, e.g. [97, 12, 247, 212].

    Raises:
        ValueError: if `target_format` is not equal to `coco` or `pascal_voc`.

def convert_bbox_from_albumentations(bbox, target_format, rows, cols, check_validity=False):
    """Convert a bounding box from the format used by albumentations to a format, specified in `target_format`.

    Args:
        bbox (list): bounding box with coordinates in the format used by albumentations
        target_format (str): required format of the output bounding box. Should be 'coco' or 'pascal_voc'.
        rows (int): image height
        cols (int): image width
        check_validity (bool): check if all boxes are valid boxes

    Note:
        The `coco` format of a bounding box looks like `[x_min, y_min, width, height]`, e.g. [97, 12, 150, 200].
        The `pascal_voc` format of a bounding box looks like `[x_min, y_min, x_max, y_max]`, e.g. [97, 12, 247, 212].

    Raises:
        ValueError: if `target_format` is not equal to `coco` or `pascal_voc`.

    """
    if target_format not in {'coco', 'pascal_voc'}:
        raise ValueError(
            "Unknown target_format {}. Supported formats are: 'coco' and 'pascal_voc'".format(target_format)
        )
    if check_validity:
        check_bbox(bbox)
    bbox = denormalize_bbox(bbox, rows, cols)
    if target_format == 'coco':
        x_min, y_min, x_max, y_max = bbox[:4]
        width = x_max - x_min
        height = y_max - y_min
        bbox = [x_min, y_min, width, height] + list(bbox[4:])
    return bbox