Python快速实现一键抠图功能的全过程
简介
使用百度深度学习框架paddlepaddle对人像图片进行自动化抠图
安装
根据PaddlePaddle官网命令安装
文章图片
如
pip install paddlepaddle-gpu -i https://mirror.baidu.com/pypi/simplepip install paddlehub -i https://mirror.baidu.com/pypi/simple
初试 1.jpg
文章图片
2.jpg
文章图片
【Python快速实现一键抠图功能的全过程】3.jpg
文章图片
4.jpg
文章图片
5.jpg
文章图片
import paddlehub as hubfrom pathlib import Pathpaths = [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')# 使用GPUprint(results)
代码会自动下载图像分割模型deeplabv3p_xception65_humanseg到
C:\Users\Administrator\.paddlehub\modules
效果
文件名 | 原图 | 效果 |
---|---|---|
1.jpg | 文章图片 |
文章图片 |
2.jpg | 文章图片 |
文章图片 |
3.jpg | 文章图片 |
文章图片 |
4.jpg | 文章图片 |
文章图片 |
5.jpg | 文章图片 |
文章图片 |
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):图片保存路径
import osos.environ['CUDA_VISIBLE_DEVICES'] = '0'
或
set CUDA_VISIBLE_DEVICES=0
参考文献
一款Python实用神器,5 行 Python 代码 实现一键批量扣图
总结 到此这篇关于Python快速实现一键抠图功能的文章就介绍到这了,更多相关Python一键抠图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- MybatisPlus使用queryWrapper如何实现复杂查询
- python学习之|python学习之 实现QQ自动发送消息
- 逻辑回归的理解与python示例
- 孩子不是实现父母欲望的工具——林哈夫
- opencv|opencv C++模板匹配的简单实现
- Node.js中readline模块实现终端输入
- python自定义封装带颜色的logging模块
- 【Leetcode/Python】001-Two|【Leetcode/Python】001-Two Sum
- java中如何实现重建二叉树