import cv2 import base64 global gamelist gamelist = [] # Set the gamelist def set_gamelist(gamelist_dict): global gamelist gamelist = gamelist_dict return True # Get the gamelist def get_gamelist(): global gamelist return gamelist # Reducing the size of an artwork/image (PNG to JPEG) and base64-encode it. # imagepath = full file image path # expectedsize = medium or thumbnail def reduceartcv2(imagepath, expectedsize): if expectedsize == 'thumbnail': image = cv2.imread(imagepath) thumb_s = image_resize(image, width=90) retval, thumb = cv2.imencode('.jpg', thumb_s) return base64.b64encode(thumb).decode() # Stolen from stackoverflow # Resize image and keep aspect ratio def image_resize(image, width=None, height=None, inter=cv2.INTER_AREA): # initialize the dimensions of the image to be resized and # grab the image size dim = None (h, w) = image.shape[:2] # if both the width and height are None, then return the # original image if width is None and height is None: return image # check to see if the width is None if width is None: # calculate the ratio of the height and construct the # dimensions r = height / float(h) dim = (int(w * r), height) # otherwise, the height is None else: # calculate the ratio of the width and construct the # dimensions r = width / float(w) dim = (width, int(h * r)) # resize the image resized = cv2.resize(image, dim, interpolation=inter) # return the resized image return resized