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 相关文章推荐
忘记ftp密码使用python ftplib库暴力破解密码的方法示例
Jan 22 Python
php使用递归与迭代实现快速排序示例
Jan 23 Python
Python2.7基于淘宝接口获取IP地址所在地理位置的方法【测试可用】
Jun 07 Python
python生成ppt的方法
Jun 07 Python
python实现音乐下载的统计
Jun 20 Python
centos6.8安装python3.7无法import _ssl的解决方法
Sep 17 Python
Python qqbot 实现qq机器人的示例代码
Jul 11 Python
python的pygal模块绘制反正切函数图像方法
Jul 16 Python
Django框架视图介绍与使用详解
Jul 18 Python
python+selenium+PhantomJS抓取网页动态加载内容
Feb 25 Python
python安装读取grib库总结(推荐)
Jun 24 Python
python实现简单聊天功能
Jul 07 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 飞信好友免费短信API接口开源版
2010/07/22 PHP
php批量删除数据库下指定前缀的表以prefix_为例
2014/08/24 PHP
PHP改进计算字符串相似度的函数similar_text()、levenshtein()
2014/10/27 PHP
thinkphp的URL路由规则与配置实例
2014/11/26 PHP
php使用gzip压缩传输js和css文件的方法
2015/07/29 PHP
PHP实现负载均衡下的session共用功能
2018/04/17 PHP
SpringMVC返回json数据的三种方式
2015/12/10 Javascript
js+canvas绘制矩形的方法
2016/01/28 Javascript
基于Javascript实现倒计时功能
2016/02/22 Javascript
Javascript中的对象和原型(二)
2016/08/12 Javascript
JS常用倒计时代码实例总结
2017/02/07 Javascript
Bootstrap缩略图与警告框学习使用
2017/02/08 Javascript
使用JS在浏览器中判断当前网络连接状态的几种方法
2017/05/05 Javascript
Vue.js 2.5新特性介绍(推荐)
2017/10/24 Javascript
JS实现点击下拉菜单把选择的内容同步到input输入框内的实例
2018/01/23 Javascript
el-input 标签中密码的显示和隐藏功能的实例代码
2019/07/19 Javascript
vue点击按钮动态创建与删除组件功能
2019/12/29 Javascript
微信小程序使用GoEasy实现websocket实时通讯
2020/05/19 Javascript
Python中zip()函数用法实例教程
2014/07/31 Python
Python利用递归实现文件的复制方法
2018/10/27 Python
Pycharm设置去除显示的波浪线方法
2018/10/28 Python
使用python Telnet远程登录执行程序的方法
2019/01/26 Python
python 字段拆分详解
2019/12/17 Python
对Pytorch中Tensor的各种池化操作解析
2020/01/03 Python
python super用法及原理详解
2020/01/20 Python
canvas绘制文本内容自动换行的实现代码
2019/01/14 HTML / CSS
是什么让J2EE适合用来开发多层的分布式的应用
2015/01/16 面试题
药学专业大学生个人的自我评价
2013/11/04 职场文书
企业年检委托书范本
2014/10/14 职场文书
2014年组织部工作总结
2014/11/14 职场文书
结婚仪式主持词
2015/06/29 职场文书
干部培训简讯
2015/07/20 职场文书
导游词之广东佛山(南风古灶)
2019/09/24 职场文书
导游词之京东大峡谷旅游区
2019/10/29 职场文书
python自动化八大定位元素讲解
2021/07/09 Python
python数据分析之单因素分析线性拟合及地理编码
2022/06/25 Python