def scale(img: np.ndarray, ann: Annotation, frow: float = None, fcol: float = None, f: float = None) \ -> (np.ndarray, Annotation): """ Resize the input image array and annotation to the given size. Args: img: Input image array. ann: Input annotation. frow: Desired height scale height value frow: Desired width scale width value f: Desired height and width scale values in one Returns: A tuple containing resized image array and annotation. """ _validate_image_annotation_shape(img, ann) new_size = sly_image.restore_proportional_size(in_size=ann.img_size, frow=frow, fcol=fcol, f=f) res_img = sly_image.resize(img, new_size) res_ann = ann.resize(new_size) return res_img, res_ann
def resize(img: np.ndarray, ann: Annotation, size: tuple) -> (np.ndarray, Annotation): """ Resize the input image array and annotation to the given size. Args: img: Input image array. ann: Input annotation. size: Desired size (height, width) in pixels or -1. If one of values is -1 and "keep": true then for specific width height will be automatically computed to keep aspect ratio. Returns: A tuple containing resized image array and annotation. """ _validate_image_annotation_shape(img, ann) height = take_with_default(size[0], -1) # For backward capability width = take_with_default(size[1], -1) size = (height, width) new_size = sly_image.restore_proportional_size(in_size=ann.img_size, out_size=size) res_img = sly_image.resize(img, new_size) res_ann = ann.resize(new_size) return res_img, res_ann