Python快速实现一键抠图功能的全过程


Posted in Python onJune 29, 2021

简介

使用百度深度学习框架paddlepaddle对人像图片进行自动化抠图

安装

根据PaddlePaddle官网命令安装

Python快速实现一键抠图功能的全过程

pip install paddlepaddle-gpu -i https://mirror.baidu.com/pypi/simple
pip install paddlehub -i https://mirror.baidu.com/pypi/simple

初试

1.jpg
Python快速实现一键抠图功能的全过程

2.jpg
Python快速实现一键抠图功能的全过程

3.jpg
Python快速实现一键抠图功能的全过程

4.jpg
Python快速实现一键抠图功能的全过程

5.jpg
Python快速实现一键抠图功能的全过程

import paddlehub as hub
from pathlib import Path

paths = [str(i) for i in Path('.').glob('*.jpg')]  # 当前路径下所有.jpg文件
human_seg = hub.Module(name='deeplabv3p_xception65_humanseg')
results = human_seg.segmentation(paths=paths, visualization=True, output_dir='output')
# results = human_seg.segmentation(paths=paths, use_gpu=True, visualization=True, output_dir='output')  # 使用GPU
print(results)

代码会自动下载图像分割模型deeplabv3p_xception65_humansegC:\Users\Administrator\.paddlehub\modules

效果

文件名 原图 效果
1.jpg Python快速实现一键抠图功能的全过程 Python快速实现一键抠图功能的全过程
2.jpg Python快速实现一键抠图功能的全过程 Python快速实现一键抠图功能的全过程
3.jpg Python快速实现一键抠图功能的全过程 Python快速实现一键抠图功能的全过程
4.jpg Python快速实现一键抠图功能的全过程 Python快速实现一键抠图功能的全过程
5.jpg Python快速实现一键抠图功能的全过程 Python快速实现一键抠图功能的全过程

详解

人像分割API

def segmentation(images=None,
                 paths=None,
                 batch_size=1,
                 use_gpu=False,
                 visualization=False,
                 output_dir='humanseg_output')

参数

  • images(list[numpy.ndarray]):图片数据,BGR格式
  • paths(list[str]):图片路径
  • batch_size(int):批量处理数量
  • use_gpu(bool):是否使用 GPU
  • visualization(bool):是否将识别结果保存为图片
  • output_dir(str):图片保存路径

遇到的坑

1. 报错RuntimeError: Environment Variable CUDA_VISIBLE_DEVICES is not set correctly. If you wanna use gpu, please set CUDA_VISIBLE_DEVICES as cuda_device_id.

import os

os.environ['CUDA_VISIBLE_DEVICES'] = '0'

set CUDA_VISIBLE_DEVICES=0

参考文献

一款Python实用神器,5 行 Python 代码 实现一键批量扣图

总结

到此这篇关于Python快速实现一键抠图功能的文章就介绍到这了,更多相关Python一键抠图内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python去掉字符串中空格的方法
Mar 11 Python
Python使用metaclass实现Singleton模式的方法
May 05 Python
在Django的上下文中设置变量的方法
Jul 20 Python
Python数据操作方法封装类实例
Jun 23 Python
对Tensorflow中权值和feature map的可视化详解
Jun 14 Python
Random 在 Python 中的使用方法
Aug 09 Python
Python json模块dumps、loads操作示例
Sep 06 Python
python实现诗歌游戏(类继承)
Feb 26 Python
使用python进行波形及频谱绘制的方法
Jun 17 Python
分享PyCharm的几个使用技巧
Nov 10 Python
Python编写一个验证码图片数据标注GUI程序附源码
Dec 09 Python
Python PyInstaller安装和使用教程详解
Jan 08 Python
总结python多进程multiprocessing的相关知识
Jun 29 #Python
python 字典和列表嵌套用法详解
Jun 29 #Python
Python连接Postgres/Mysql/Mongo数据库基本操作大全
5行Python代码实现一键批量扣图
Python爬取用户观影数据并分析用户与电影之间的隐藏信息!
python geopandas读取、创建shapefile文件的方法
总结Pyinstaller打包的高级用法
You might like
用PHP制作的意见反馈表源码
2007/03/11 PHP
Laravel 5.5 实现禁用用户注册示例
2019/10/24 PHP
为jQuery增加join方法的实现代码
2010/11/28 Javascript
JS代码优化技巧之通俗版(减少js体积)
2011/12/23 Javascript
IE下使用cloneNode注意事项分享
2012/11/22 Javascript
我用的一些Node.js开发工具、开发包、框架等总结
2014/09/25 Javascript
javascript实现类似超链接的效果
2014/12/26 Javascript
JavaScript中的原型链prototype介绍
2014/12/30 Javascript
JS命令模式例子之菜单程序
2016/10/10 Javascript
Vue 兄弟组件通信的方法(不使用Vuex)
2017/10/26 Javascript
Swiper自定义分页器使用详解
2017/12/28 Javascript
H5+C3+JS实现五子棋游戏(AI篇)
2020/05/28 Javascript
angularJs提交文本框数据到后台的方法
2018/10/08 Javascript
vue 搭建后台系统模块化开发详解
2019/05/01 Javascript
JS实现简单省市二级联动
2019/11/27 Javascript
JS实现秒杀倒计时特效
2020/01/02 Javascript
如何在面试中手写出javascript节流和防抖函数
2020/10/22 Javascript
[02:33]2018 DOTA2亚洲邀请赛回顾视频 再次拾起那些美妙的时刻
2018/04/10 DOTA
详解Python多线程
2016/11/14 Python
Python实现的质因式分解算法示例
2018/05/03 Python
对Python闭包与延迟绑定的方法详解
2019/01/07 Python
使用Python完成15位18位身份证的互转功能
2019/11/06 Python
Python爬虫制作翻译程序的示例代码
2021/02/22 Python
Fashion Eyewear美国:英国线上设计师眼镜和太阳镜的零售商
2016/08/15 全球购物
电子商务网站的创业计划书
2014/01/05 职场文书
保护地球的标语
2014/06/17 职场文书
学校总务处领导干部个人对照检查材料思想汇报
2014/10/06 职场文书
2014幼儿园小班工作总结
2014/11/10 职场文书
交警失职检讨书
2015/01/26 职场文书
2015年信访维稳工作总结
2015/04/07 职场文书
幼儿园亲子活动通知
2015/04/24 职场文书
律师催款函范文
2015/06/24 职场文书
清明节主题班会
2015/08/14 职场文书
2016春节放假通知范文
2015/08/18 职场文书
七年级英语教学反思
2016/02/15 职场文书
python自动化之如何利用allure生成测试报告
2021/05/02 Python