|
import gradio as gr |
|
import numpy as np |
|
import colorizers as c |
|
|
|
from colorizers.util import postprocess_tens, preprocess_img |
|
|
|
def interface(image, model: str = "siggraph17"): |
|
if model == "eccv16": |
|
img = siggraph17(pretrained=True).eval() |
|
else: |
|
img = c.siggraph17(pretrained=True).eval() |
|
oimg = np.asarray(image) |
|
if(oimg.ndim == 2): |
|
oimg = np.tile(oimg[:,:,None], 3) |
|
(tens_l_orig, tens_l_rs) = preprocess_img(oimg) |
|
|
|
output_img = postprocess_tens( |
|
tens_l_orig, |
|
img(tens_l_rs).cpu() |
|
) |
|
return output_img |
|
|
|
css=''' |
|
.Box { |
|
background-color: var(--color-canvas-default); |
|
border-color: var(--color-border-default); |
|
border-style: solid; |
|
border-width: 1px; |
|
border-radius: 6px; |
|
} |
|
.d-flex { |
|
display: flex !important; |
|
} |
|
.flex-md-row { |
|
flex-direction: row !important; |
|
} |
|
.flex-column { |
|
flex-direction: column !important; |
|
} |
|
''' |
|
title = "Image Colorization Using AI Models" |
|
description = r"""<center>An automatic colorization functionality for Real-Time User-Guided Image Colorization with Learned Deep Priors,ECCV16 & SIGGRAPH 2017 Models!<br> |
|
Practically the algorithm is used to COLORIZE your **old BLACK & WHITE / GRAYSCALE photos**.<br> |
|
To use it, simply just upload the concerned image.<br> |
|
""" |
|
article = r""" |
|
|
|
|
|
""" |
|
|
|
|
|
gr.HTML("""<style>""" + css+ """</Style>""") |
|
|
|
mainBody = gr.Interface( |
|
interface, |
|
[ |
|
gr.components.Image(type="pil", label="image"), |
|
gr.components.Radio( |
|
["siggraph17"], |
|
type="value", |
|
label="model" |
|
) |
|
], |
|
[ |
|
gr.components.Image(label="output") |
|
], |
|
|
|
|
|
theme="huggingface", |
|
title=title, |
|
description=description, |
|
article=article, |
|
live=True, |
|
) |
|
mainBody.launch() |