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 相关文章推荐
使用Django的模版来配合字符串翻译工作
Jul 27 Python
Django中url的反向查询的方法
Mar 14 Python
Sanic框架蓝图用法实例分析
Jul 17 Python
通过python实现弹窗广告拦截过程详解
Jul 10 Python
python getpass实现密文实例详解
Sep 24 Python
Numpy将二维数组添加到空数组的实现
Dec 05 Python
PyCharm 专业版安装图文教程
Feb 20 Python
Python第三方包之DingDingBot钉钉机器人
Apr 09 Python
使用Python对Dicom文件进行读取与写入的实现
Apr 20 Python
Python实现疫情通定时自动填写功能(附代码)
May 27 Python
Python实战之实现简易的学生选课系统
May 25 Python
Python torch.flatten()函数案例详解
Aug 30 Python
总结python多进程multiprocessing的相关知识
Jun 29 #Python
python 字典和列表嵌套用法详解
Jun 29 #Python
Python连接Postgres/Mysql/Mongo数据库基本操作大全
5行Python代码实现一键批量扣图
Python爬取用户观影数据并分析用户与电影之间的隐藏信息!
python geopandas读取、创建shapefile文件的方法
总结Pyinstaller打包的高级用法
You might like
使用ThinkPHP自带的Http类下载远程图片到本地的实现代码
2011/08/02 PHP
ThinkPHP之import方法实例详解
2014/06/20 PHP
php简单实现多字节字符串翻转的方法
2015/03/31 PHP
js工具方法弹出蒙版
2013/05/08 Javascript
JS建造者模式基本用法实例分析
2015/06/30 Javascript
javascript编写贪吃蛇游戏
2015/07/07 Javascript
jquery实现LED广告牌旋转系统图片切换效果代码分享
2015/08/26 Javascript
js实现跨域的4种实用方法原理分析
2015/10/29 Javascript
Bootstrap模态对话框的简单使用
2016/04/29 Javascript
限制文本框只能输入数字||只能是数字和小数点||只能是整数和浮点数
2016/05/27 Javascript
jQuery基础知识点总结(DOM操作)
2016/06/01 Javascript
jquery把int类型转换成字符串类型的方法
2016/10/07 Javascript
Javascript动画效果(2)
2016/10/11 Javascript
bootstrap读书笔记之CSS组件(上)
2016/10/17 Javascript
详解vue事件对象、冒泡、阻止默认行为
2017/03/20 Javascript
JS实现查找数组中对象的属性值是否存在示例
2019/05/24 Javascript
layui复选框限制选择个数的方法
2019/09/18 Javascript
python基于windows平台锁定键盘输入的方法
2015/03/05 Python
Python里disconnect UDP套接字的方法
2015/04/23 Python
Python之py2exe打包工具详解
2017/06/14 Python
python中学习K-Means和图片压缩
2017/11/20 Python
Python实现matplotlib显示中文的方法详解
2018/02/06 Python
python解决pandas处理缺失值为空字符串的问题
2018/04/08 Python
numpy向空的二维数组中添加元素的方法
2018/11/01 Python
Python爬虫实现“盗取”微信好友信息的方法分析
2019/09/16 Python
python装饰器的特性原理详解
2019/12/25 Python
python中matplotlib实现随鼠标滑动自动标注代码
2020/04/23 Python
Python 中Operator模块的使用
2021/01/30 Python
公司人力资源的自我评价
2014/01/02 职场文书
入党积极分子学习两会心得体会范文
2014/03/17 职场文书
项目合作意向书模板
2014/07/29 职场文书
住房租房协议书
2014/08/20 职场文书
大连导游词
2015/02/12 职场文书
六一活动主持词
2015/06/30 职场文书
高中诗歌鉴赏教学反思
2016/02/16 职场文书
使用JS前端技术实现静态图片局部流动效果
2022/08/05 Javascript