网络编程
位置:首页>> 网络编程>> Python编程>> Python快速实现一键抠图功能的全过程

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

作者:XerCis  发布时间:2021-03-03 14:58:39 

标签:python,抠图

简介

使用百度深度学习框架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_humanseg到C:\Users\Administrator\.paddlehub\modules

效果

文件名原图效果
1.jpgPython快速实现一键抠图功能的全过程Python快速实现一键抠图功能的全过程
2.jpgPython快速实现一键抠图功能的全过程Python快速实现一键抠图功能的全过程
3.jpgPython快速实现一键抠图功能的全过程Python快速实现一键抠图功能的全过程
4.jpgPython快速实现一键抠图功能的全过程Python快速实现一键抠图功能的全过程
5.jpgPython快速实现一键抠图功能的全过程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 代码 实现一键批量扣图

来源:https://blog.csdn.net/lly1122334/article/details/118196565

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com