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之眼花缭乱的运算符
Sep 14 Python
仅利用30行Python代码来展示X算法
Apr 01 Python
初步介绍Python中的pydoc模块和distutils模块
Apr 13 Python
Python中的条件判断语句与循环语句用法小结
Mar 21 Python
Python文本相似性计算之编辑距离详解
Nov 28 Python
分享6个隐藏的python功能
Dec 07 Python
Pandas 合并多个Dataframe(merge,concat)的方法
Jun 08 Python
Python 动态导入对象,importlib.import_module()的使用方法
Aug 28 Python
pytorch中使用cuda扩展的实现示例
Feb 12 Python
python开发入门——set的使用
Sep 03 Python
浅谈anaconda python 版本对应关系
Oct 07 Python
python爬取抖音视频的实例分析
Jan 19 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中JSON的使用方法
2015/04/30 PHP
PHP 中魔术常量的实例详解
2017/10/26 PHP
分享JavaScript获取网页关闭与取消关闭的事件
2013/12/13 Javascript
浅谈JavaScript中定义变量时有无var声明的区别
2014/08/18 Javascript
require简单实现单页应用程序(SPA)
2016/07/12 Javascript
JS常用算法实现代码
2016/11/14 Javascript
浅谈React 属性和状态的一些总结
2016/11/21 Javascript
javascript 定时器工作原理分析
2016/12/03 Javascript
微信小程序实现图片自适应(支持多图)
2017/01/25 Javascript
nodejs async异步常用函数总结(推荐)
2017/11/17 NodeJs
关于vue v-for 循环问题(一行显示四个,每一行的最右边那个计算属性)
2018/09/04 Javascript
NodeJS 将文件夹按照存放路径变成一个对应的JSON的方法
2018/10/17 NodeJs
vue打包之后生成一个配置文件修改接口的方法
2018/12/09 Javascript
vue视频播放暂停代码
2019/11/08 Javascript
Vue中Table组件行内右键菜单实现方法(基于 vue + AntDesign)
2019/11/21 Javascript
压缩Vue.js打包后的体积方法总结(Vue.js打包后体积过大问题)
2020/02/03 Javascript
Vue强制组件重新渲染的方法讨论
2020/02/03 Javascript
[02:43]DOTA2英雄基础教程 半人马战行者
2014/01/13 DOTA
[01:04:05]VG vs Newbee 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
使用Python获取CPU、内存和硬盘等windowns系统信息的2个例子
2014/04/15 Python
python列表操作之extend和append的区别实例分析
2015/07/28 Python
详解python eval函数的妙用
2017/11/16 Python
django Serializer序列化使用方法详解
2018/10/16 Python
浅谈python中str字符串和unicode对象字符串的拼接问题
2018/12/04 Python
TensorFlow车牌识别完整版代码(含车牌数据集)
2019/08/05 Python
python数据化运营的重要意义
2019/11/25 Python
使用 pytorch 创建神经网络拟合sin函数的实现
2020/02/24 Python
keras的ImageDataGenerator和flow()的用法说明
2020/07/03 Python
详解python实现可视化的MD5、sha256哈希加密小工具
2020/09/14 Python
SQL数据库笔试题
2016/03/08 面试题
机关搬迁方案
2014/05/18 职场文书
召开会议通知范文
2015/04/15 职场文书
2016先进工作者事迹材料
2016/02/25 职场文书
浅谈TypeScript 索引签名的理解
2021/10/16 Javascript
python playwright 自动等待和断言详解
2021/11/27 Python
关于Redis的主从复制及哨兵问题
2022/06/16 Redis