好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Python快速实现一键抠图功能的全过程

简介

使用百度深度学习框架paddle 编程客栈 paddle对人像图片进行自动化抠图

安装

根据PaddlePaddle官网命令安装

pip install paddlepaddle-gpu -i https://mirror.baidu测试数据/pypi/simple
pip install paddlehub -i https://mirror.baidu测试数据/pypi/simple

初试

1.jpg

2.jpg

3.jpg

4.jpg

5.jpg

import paddlehub as hub
from pathlib  HdhCmsTestcppcns测试数据 import Path

paths = [str(i) for i in Path('.').glob('*.jpg')]  # 当前路径下所有.jpg文件
human_seg = hub.Module(name='deeplabv3p_xception65_humanseg')
results = human_seg.seg UfBPgb mentation(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 UfBPgb

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 CUD http://HdhCmsTestcppcns测试数据 A_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快速实现一键抠图功能的全过程的详细内容...

  阅读:33次