File size: 1,227 Bytes
7a6754c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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