Spaces:
Paused
Paused
import gradio as gr | |
from PIL import Image | |
import numpy as np | |
from realesrgan import RealESRGANer | |
import os | |
# Проверка наличия модели | |
def check_model_path(model_path): | |
if not os.path.exists(model_path): | |
raise FileNotFoundError(f"Модель не найдена по пути: {model_path}. Скачайте модель и поместите её в папку 'weights'.") | |
# Инициализация модели Real-ESRGAN | |
def load_model(): | |
model_path = "weights/RealESRGAN_x4plus.pth" # Путь к модели | |
check_model_path(model_path) # Проверка наличия модели | |
model = RealESRGANer( | |
scale=4, | |
model_path=model_path, | |
model=None, | |
tile=0, | |
tile_pad=10, | |
pre_pad=0, | |
half=False | |
) | |
return model | |
# Функция для увеличения разрешения изображения | |
def upscale_image(image): | |
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() |