使用Paddlehub进行图像抠人的总结


前言

总结一下使用Paddlehub进行人像抠图的方法。


一、工作背景

App中需要使用人体分析和人像抠图,这里对抠图过程做一个总结,方便今后查找,也方便有同样需要的小伙伴。

二、工作步骤

1.安装相应的依赖包

注意由于Paddle在我写这篇总结的时候还不支持python3.8以上,所以有较高版本的小伙伴需要将python降级,太高的版本不要轻易装,我也是掉坑里了,无奈降级到python3.8。如何删除已有的python
安装步骤可以查看飞桨官方文档,链接地址:飞桨官方文档
按照官方文档检查python和pip的版本,pip版本不够的话升级pip。
python2

python -m pip install --upgrade pip

python3

python3 -m pip install --upgrade pip

由于我使用的是mac下的python3,官方的命令行指令如下:

官方提供的命令行方法:

python3 -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple

2.验证安装成功

安装完成后您可以使用 python 或 python3 进入python解释器,输入import paddle ,再输入 paddle.utils.run_check()

如果出现PaddlePaddle is installed successfully! Let’s start deep learning with PaddlePaddle now.,说明您已成功安装。

命令行输入:

import paddle
paddle.utils.run_check()

3.完善python代码

除了安装paddle库,还要安装cv2,paddlehub以及matplotlib库。安装很简单pip3 install 加上库名即可,cv2的库名是opencv-python。
依赖安装完成后,打开PyCharm完善抠图代码:

抠图方法的示例代码如下:

def paddleHubGetHuman(count):
    import os
    import cv2
    import numpy as np
    import paddle
    import paddlehub as hub
    import matplotlib.image as mpimg
    import matplotlib.pyplot as plt

    print(paddle.__version__)
    print(hub.__version__)

    #加载模型
    humanseg = hub.Module(name = "deeplabv3p_xception65_humanseg")
    image = '/Users/longxiang/Public/Unity3D/PaiPaiLu/testMaskAI/temp/%d.png'%count
    # 展示待预测图片,可以关闭减少干扰
    # plt.figure(figsize=(10,10))
    # plt.imshow(image)
    # plt.axis('off')
    # plt.show()

    # execute predict and print the result
    results = humanseg.segmentation(images=[cv2.imread(image)],visualization=True)
    print(results[0]['save_path'])

    # 预测结果展示
    test_img_path = results[0]['save_path']
    img = mpimg.imread(test_img_path)
    blend_image(test_img_path,image)
    # plt.imshow(img)
    # plt.axis('off')
    # plt.show()
    os.remove(test_img_path)

总结

以上是使用paddle的抠图api进行抠图操作的方法总结,希望对大家有所帮助。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值