简介
使用百度深度学习框架paddlepaddle对人像图片进行自动化抠图
安装
根据PaddlePaddle官网命令安装
如
pip install paddlepaddle-gpu -i https://mirror.baidu.com/pypi/simple
pip install paddlehub -i https://mirror.baidu.com/pypi/simple
初试
1.jpg
2.jpg
3.jpg
4.jpg
5.jpg
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_humanseg到C:\Users\Administrator\.paddlehub\modules
效果
文件名 |
原图 |
效果 |
1.jpg |
|
|
2.jpg |
|
|
3.jpg |
|
|
4.jpg |
|
|
5.jpg |
|
|
详解
人像分割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和opencv实现抠图
- 3行Python代码实现图像照片抠图和换底色的方法
- Python实现AI自动抠图实例解析
- python实现抠图给证件照换背景源码
- python实现人工智能Ai抠图功能
- Python用5行代码实现批量抠图的示例代码
- python利用蒙版抠图(使用PIL.Image和cv2)输出透明背景图
- 使用python和opencv的mask实现抠图叠加