Spaces:
Running
Running
import gradio as gr | |
import cv2 | |
import numpy as np | |
# ์ด๋ฏธ์ง ์ ์ค์ผ์ผ ํจ์ | |
def upscale_image(input_image, upscale_factor): | |
upscale_factor = int(upscale_factor) # ์ ์ค์ผ์ผ ๋น์จ์ ์ ์ํ์ผ๋ก ๋ณํ | |
# ์ ๋ ฅ ์ด๋ฏธ์ง๋ฅผ ์ฃผ์ด์ง ์ ์ค์ผ์ผ ๋น์จ๋ก ํฌ๊ธฐ ๋ณ๊ฒฝ (๋ณด๊ฐ๋ฒ: INTER_CUBIC) | |
output_image = cv2.resize(input_image, None, fx=upscale_factor, fy=upscale_factor, interpolation=cv2.INTER_CUBIC) | |
# ์ด๋ฏธ์ง๋ฅผ PNG ํ์์ผ๋ก ์ ์ฅ | |
output_image_bgr = cv2.cvtColor(output_image, cv2.COLOR_RGB2BGR) # RGB์์ BGR๋ก ๋ณํ | |
output_filename = "upscaled_image.png" | |
cv2.imwrite(output_filename, output_image_bgr) | |
return output_filename | |
# ์ธํฐํ์ด์ค ์ค๋ช | |
DESCRIPTION = """ | |
์ด๋ฏธ์ง์ ํฌ๊ธฐ์ ํ์ง์ ํฅ์์์ผ ๋ณด์ธ์! (you can increase the size and quality of your images) | |
""" | |
# ์ ์ค์ผ์ผ ๋ ๋ฒจ ์ ํ ๋ผ๋์ค ๋ฒํผ | |
radio_input = gr.Radio(label="์ ์ค์ผ์ผ ๋ ๋ฒจ ์ ํ (Select Upscaling level)", choices=[2, 4, 6, 8, 10], value=2) | |
# Gradio ์ธํฐํ์ด์ค ์ ์ | |
demo = gr.Interface( | |
fn=upscale_image, | |
inputs=[gr.Image(label="์ ๋ ฅ ์ด๋ฏธ์ง (Input Image)", type="numpy"), radio_input], | |
outputs=gr.File(label="์ ์ค์ผ์ผ๋ ์ด๋ฏธ์ง ๋ค์ด๋ก๋ (Download Upscaled Image)"), | |
title="Image Upscaler", | |
description=DESCRIPTION | |
) | |
# ์ธํฐํ์ด์ค ์คํ | |
demo.launch(show_api=False) | |