| 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() |