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)