Python实现一键抠图功能的全过程
本篇内容主要讲解“Python实现一键抠图功能的全过程”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python实现一键抠图功能的全过程”吧!
简介
使用百度深度学习框架paddlepaddle对人像图片进行自动化抠图
安装
根据PaddlePaddle官网命令安装
如
pip install paddlepaddle-gpu -i https://mirror.baidu.com/pypi/simplepip install paddlehub -i https://mirror.baidu.com/pypi/simple
初试
jpg
jpg
jpg
jpg
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 |
详解
人像分割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 osos.environ['CUDA_VISIBLE_DEVICES'] = '0'
或
set CUDA_VISIBLE_DEVICES=0
到此,相信大家对“Python实现一键抠图功能的全过程”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341