|
from PIL import Image |
|
import gradio as gr |
|
import subprocess |
|
import shutil, os |
|
from gradio_imageslider import ImageSlider |
|
import cv2 |
|
from modelscope.outputs import OutputKeys |
|
from modelscope.pipelines import pipeline |
|
from modelscope.utils.constant import Tasks |
|
|
|
img_colorization = pipeline(Tasks.image_colorization, model='damo/cv_ddcolor_image-colorization') |
|
result = img_colorization('https://modelscope.oss-cn-beijing.aliyuncs.com/test/images/audrey_hepburn.jpg') |
|
cv2.imwrite('result.png', result[OutputKeys.OUTPUT_IMG]) |
|
def generate(image): |
|
image_in = cv2.imread(image) |
|
img_colorization = pipeline(Tasks.image_colorization, model='damo/cv_ddcolor_image-colorization') |
|
result = img_colorization(image_in) |
|
cv2.imwrite('result.png', result[OutputKeys.OUTPUT_IMG]) |
|
image_in_pil = Image.fromarray(cv2.cvtColor(image_in, cv2.COLOR_BGR2RGB)) |
|
image_out_pil = Image.fromarray(cv2.cvtColor(image_out, cv2.COLOR_BGR2RGB)) |
|
return (image_in_pil, image_out_pil) |
|
|
|
with gr.Blocks() as demo: |
|
with gr.Row(): |
|
with gr.Column(): |
|
image = gr.Image(type='filepath') |
|
button = gr.Button() |
|
output_image = ImageSlider(show_label=False, type="filepath", interactive=False) |
|
button.click(fn=generate, inputs=[image], outputs=[output_image]) |
|
|
|
demo.queue().launch(inline=False, share=True, debug=True) |