File size: 1,628 Bytes
7f30599
 
d722905
 
7f30599
d722905
7f30599
d722905
 
 
 
 
 
 
 
 
7f30599
 
 
 
d722905
 
7f30599
 
d722905
7f30599
d722905
 
7f30599
 
 
 
 
 
 
 
 
 
d722905
7f30599
 
 
 
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
import gradio as gr
from PIL import Image
import numpy as np
from realesrgan import RealESRGANer

# Инициализация модели Real-ESRGAN
def load_model():
    model = RealESRGANer(
        scale=4,  # Масштаб увеличения (4x)
        model_path="weights/RealESRGAN_x4plus.pth",  # Путь к модели
        model=None,
        tile=0,  # Размер тайла (0 для отключения)
        tile_pad=10,
        pre_pad=0,
        half=False  # Использование полной точности (не half precision)
    )
    return model

# Функция для увеличения разрешения изображения
def upscale_image(image):
    # Преобразование изображения в numpy array
    img = np.array(image)
    
    # Увеличение разрешения с помощью модели
    output, _ = model.enhance(img, outscale=4)
    
    # Преобразование результата обратно в изображение
    return Image.fromarray(output)

# Загрузка модели
model = load_model()

# Создание интерфейса Gradio
iface = gr.Interface(
    fn=upscale_image,
    inputs=gr.Image(type="pil", label="Входное изображение"),
    outputs=gr.Image(type="pil", label="Увеличенное изображение"),
    title="AI Image Upscaler",
    description="Загрузите изображение, чтобы увеличить его разрешение с помощью Real-ESRGAN."
)

# Запуск интерфейса
iface.launch()