使用Python自动化批量抠图

使用Python自动化批量抠图

2021年1月10日 0 By MonsterPrime

日常生活中抠图很麻烦,使用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