import os from PIL import Image from model_handler import MODELS upscaler = MODELS.upscaler upscaler4SD = MODELS.upscaler4SD def enhance_image( input_image: Image, ): h, w = input_image.size max_scale_size = 1024 if h > max_scale_size: w = int(w * max_scale_size / h) h = max_scale_size if w > max_scale_size: h = int(h * max_scale_size / w) w = max_scale_size if h != input_image.size[1] or w != input_image.size[0]: input_image = input_image.resize((w, h)) if os.environ.get("TILING", False): tileSizeStr = os.environ.get("TILE_SIZE", 1024) tileSize = int(tileSizeStr) enhanced_image = upscaler(input_image, tiling=True, tile_width=tileSize, tile_height=tileSize) else: enhanced_image = upscaler(input_image) return enhanced_image def enhance_sd_image( input_image: Image, ): if os.environ.get("TILING", False): tileSizeStr = os.environ.get("TILE_SIZE", 1024) tileSize = int(tileSizeStr) enhanced_image = upscaler4SD(input_image, tiling=True, tile_width=tileSize, tile_height=tileSize) else: enhanced_image = upscaler4SD(input_image) return enhanced_image