evgeniy778's picture
Update app.py
1118a92 verified
Raw
History Blame Contribute Delete
3 kB
# =====================================================
# Apckeyl_RealESRGAN
# Version 9.0
# app.py
# =====================================================
import gradio as gr
from image_upscaler import upscale_image
from batch_processor import BatchProcessor
# -----------------------------------------------------
batch_processor = BatchProcessor()
# -----------------------------------------------------
def process(
image,
mode,
quality,
denoise,
):
try:
results = batch_processor.process_with_limit(
images=[image],
mode=mode,
quality=quality,
denoise=denoise,
)
result, status = results[0]
return result, status
except Exception as e:
import traceback
traceback.print_exc()
return None, f"❌ Ошибка\n\n{e}"
# -----------------------------------------------------
with gr.Blocks(
title="Apckeyl RealESRGAN"
) as demo:
gr.Markdown(
"""
# 🖼️ Apckeyl RealESRGAN
### AI Upscaler
"""
)
with gr.Row():
with gr.Column(scale=1):
image = gr.Image(
type="pil",
label="Изображение"
)
mode = gr.Radio(
choices=[
"Улучшить качество (рекомендуется)",
"Увеличить ×2",
"Увеличить ×4",
],
value="Улучшить качество (рекомендуется)",
label="Режим"
)
quality = gr.Radio(
choices=[
"Авто (рекомендуется)",
"Максимальная детализация",
"Мягкая обработка",
],
value="Авто (рекомендуется)",
label="Качество"
)
denoise = gr.Radio(
choices=[
"Авто (рекомендуется)",
"Выключено",
],
value="Авто (рекомендуется)",
label="Шумоподавление"
)
button = gr.Button(
"🚀 Улучшить изображение",
variant="primary"
)
with gr.Column(scale=1):
output = gr.Image(
label="Результат"
)
status = gr.Textbox(
label="Статус",
lines=18
)
button.click(
fn=process,
inputs=[
image,
mode,
quality,
denoise,
],
outputs=[
output,
status,
],
)
demo.launch()