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