import os
import gradio as gr
from PIL import Image
os.system('wget https://github.com/FanChiMao/HWMNet/releases/download/v0.0/LOL_enhancement_HWMNet.pth -P experiments/pretrained_models')
os.system('wget https://github.com/FanChiMao/HWMNet/releases/download/v0.0/MIT5K_enhancement_HWMNet.pth -P experiments/pretrained_models')
def inference(img, model):
os.system('mkdir test')
#basewidth = 256
#wpercent = (basewidth / float(img.size[0]))
#hsize = int((float(img.size[1]) * float(wpercent)))
#img = img.resize((basewidth, hsize), Image.ANTIALIAS)
width, height = img.size
newsize= (width, height)
img.save("test/1.png", "PNG")
if model == 'LOL':
os.system('python main_test_HWMNet.py --input_dir test --weights experiments/pretrained_models/LOL_enhancement_HWMNet.pth')
elif model == 'MIT-5K':
os.system('python main_test_HWMNet.py --input_dir test --weights experiments/pretrained_models/MIT5K_enhancement_HWMNet.pth')
im = Image.open('result/1.png')
im = im.resize(newsize)
return 'result/1.png'
title = "Low-light Image Enhancement"
description = "Demo di uno script python che usa pythorch, opencv e numpy per eseguire il \"low light image enhancemnent\". Questa tecnica consente di migliorare graficamente un immagine con poca luce avvalendosi di dataset come \"LOL\" e \"MIT-Adobe FiveK\".
\"LOL\" è più adatto per immagini molto scure, di conseguenza è più invasivo. \"MIT-Adobe FiveK\" è meno invasivo e quindi adatto ad immagini più luminose di base."
article = "
made by Peter Minerba for high-scool final exam ツ
" examples = [['low-light.png', 'LOL'], ['low-light_2.png', 'MIT-5K']] gr.Interface( inference, [gr.inputs.Image(type="pil", label="Input"), gr.inputs.Dropdown(choices=['LOL', 'MIT-5K'], type="value", default='LOL', label="model")], gr.outputs.Image(type="file", label="Output"), title=title, description=description, article=article, allow_flagging=False, allow_screenshot=False, examples=examples, css='#2 {max-width: 100%; max-height: 70%;}' ).launch(debug=True)