Najaf-Zawar's picture
Create app.py
86c46ff
import cv2
import os
import torch
from basicsr.archs.rrdbnet_arch import RRDBNet
from realesrgan import RealESRGANer
import gradio as gr
import torchvision.transforms as transforms
model_path = "Trained_ESRGAN.pth"
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model = RRDBNet(num_in_ch=3, num_out_ch=3, num_feat=64, num_block=23, num_grow_ch=32, scale=4)
upsampler = RealESRGANer(scale=4, model_path=model_path, model=model)
def esrgan(input_image):
output_img, _ = upsampler.enhance(input_image, outscale=3.5)
filename = "output.jpg"
output_img = cv2.cvtColor(output_img, cv2.COLOR_BGR2RGB)
cv2.imwrite(filename, output_img)
return filename
# Define the Gradio app interface
inputs = gr.Image(label="Input Image")
outputs = gr.Image(label="Enhanced_Image.")
title = "Image Super-Resolution Using ESR-GAN"
description = "Enhance the Quality of your Low Resolution Images To High Resolution Using Artificial Intelligence"
iface = gr.Interface(fn=esrgan, inputs=inputs, outputs=outputs, title=title, description=description, allow_flagging="never")
iface.launch(inline = False)