import imutils import cv2 def resize_to_fit(image, width, height): """ A helper function to resize an image to fit within a given size :param image: image to resize :param width: desired width in pixels :param height: desired height in pixels :return: the resized image """ # grab the dimensions of the image, then initialize # the padding values (h, w) = image.shape[:2] # if the width is greater than the height then resize along # the width if w > h: image = imutils.resize(image, width=width) # otherwise, the height is greater than the width so resize # along the height else: image = imutils.resize(image, height=height) # determine the padding values for the width and height to # obtain the target dimensions padW = int((width - image.shape[1]) / 2.0) padH = int((height - image.shape[0]) / 2.0) # pad the image then apply one more resizing to handle any # rounding issues image = cv2.copyMakeBorder(image, padH, padH, padW, padW, cv2.BORDER_REPLICATE) image = cv2.resize(image, (width, height)) # return the pre-processed image return image