
使用Python自动化批量抠图
2021年1月10日日常生活中抠图很麻烦,使用python实现自动化抠图,即可以节省时间,又可以复习编程知识真是一举两得的办法。
1、安装paddlepaddle
它是“源于产业实践的开源深度学习平台,致力于让深度学习技术的创新与应用更简单”,直白点就是我帮你实现了深度学习底层框架,你只要有创意就可以在我平台上运用少量简单代码轻松实现。它的官网是:https://www.paddlepaddle.org.cn/。
安装paddlepaddle
sudo pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn paddlepaddle
2、安装paddlehub
要实现本文的一键批量扣图需求,需要借助PaddleHub人像分割模型来实现。
PaddleHub 是基于 PaddlePaddle 开发的预训练模型管理工具,可以借助预训练模型更便捷地开展迁移学习工作,目前的预训练模型涵盖了图像分类、目标检测、词法分析、语义模型、情感分析、视频分类、图像生成、图像分割、文本审核、关键点检测等主流模型。
安装paddlehub
sudo pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn paddlehub
安装完成后,我们就可以开始运用了。
但是在安装paddlehub的时候报错了

这个时候要下载sentencepiece的对应版本,地址是:https://pypi.org/project/sentencepiece/#files

由于的系统是deepin所以我要下载这个版本,下载好之后安装
pip3 install --user sentencepiece-0.1.94-cp37-cp37m-manylinux2014_x86_64.whl
安装的时候报错了

解决办法就是修改文件名
mv sentencepiece-0.1.94-cp37-cp37m-manylinux2014_x86_64.whl sentencepiece-0.1.94-cp37-cp37m-linux_x86_64.whl
再次安装就好了

3、一键扣图代码实现
扣图功能主要采用PaddleHub DeepLabv3+模型deeplabv3p_xception65_humanseg
。
下面我们看具体扣图代码实现(ps_picure.ipynb):
import os
import paddlehub as hub
# 加载模型
humanseg = hub.Module(name='deeplabv3p_xception65_humanseg') # 加载模型
path = '/home/zidong/Pictures/pic/' # 文件目录
files = [path + i for i in os.listdir(path)] # 获取文件列表
print(files)
results = humanseg.segmentation(data={'image':files}) # 抠图
for res in results:
print(res)

示例中,我将图片放在代码文件夹的同级目录 pic文件夹下,运行代码后,输出的抠图图片会自动放在代码同级目录的 humanseg_output 目录下,文件名称跟原图片的名称相同,但是文件格式是 png ,上述示例代码运行结果如下所示,我这里展示的只不过是其中的一张照片!

参考
https://blog.csdn.net/jinjiangongzuoshi/article/details/106230074
原文
原文链接
https://mp.weixin.qq.com/s/50hxSt0nx_08Q1BdW5F3Wg