美文网首页
手把手做一个图片智能擦除小工具

手把手做一个图片智能擦除小工具

作者: 郭彦超 | 来源:发表于2023-02-22 14:30 被阅读0次

    不多说 先上效果:



    环境依赖

    • 推理框架,用于模型计算(支持cpu)
    pip3 install torch torchvision torchaudio
    pip3 install modelscope
    
    • 页面交互工具
    pip3 install gradio
    

    模型推理相关的代码

    import cv2
    from modelscope.outputs import OutputKeys
    from modelscope.pipelines import pipeline
    from modelscope.utils.constant import Tasks
    from PIL import Image
    import requests
    from matplotlib import pyplot as plt
    
     
    inpainting = pipeline(Tasks.image_inpainting, model='damo/cv_fft_inpainting_lama' ) #
    def img_clean(dic):
        img = dic["image"]
        mask = dic["mask"]
        w, h = img.size
        v = min(max(471, 313),512)
        r = w/v
        if r>1:
            h = int(h/r)
        else:
            h = int(h/r)
        img = img.resize((v, h))
        mask = mask.resize((v, h))
        input = {
                'img': img,
                'mask': mask,
        }
    
        
        result = inpainting(input)
        vis_img = result[OutputKeys.OUTPUT_IMG]
        vis_img = cv2.cvtColor(vis_img, cv2.COLOR_RGB2BGR)
     
        return img, Image.fromarray(vis_img)
    

    生成交互页面

    import gradio
    interface2 = gradio.Interface(img_clean, 
                                 inputs=gradio.ImageMask(type="pil"),
                                 outputs=[gradio.outputs.Image(type="pil", label=None).style(height=320,width=320) for _ in range(2)], allow_flagging='never',
                                 description="图像擦除|demo"
                                )
    
    interface2.launch(inline=True, share=True,server_port=9988 )
    

    运行后会生成页面访问地址,擦除效果堪比商业软件

    相关文章

      网友评论

          本文标题:手把手做一个图片智能擦除小工具

          本文链接:https://www.haomeiwen.com/subject/nleakdtx.html