| 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 | |