Spaces:
Paused
Paused
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() |