当前位置:   article > 正文

Python快速实现一键抠图_python 一键抠图

python 一键抠图

简介

使用百度深度学习框架paddlepaddle对人像图片进行自动化抠图




安装

根据PaddlePaddle官网命令安装
在这里插入图片描述

pip install paddlepaddle-gpu -i https://mirror.baidu.com/pypi/simple
pip install paddlehub -i https://mirror.baidu.com/pypi/simple
  • 1
  • 2




初试

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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

代码会自动下载图像分割模型deeplabv3p_xception65_humansegC:\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')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

参数

  • 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'
  • 1
  • 2
  • 3

set CUDA_VISIBLE_DEVICES=0
  • 1




参考文献

  1. 一款Python实用神器,5 行 Python 代码 实现一键批量扣图
  2. 基于 MediaPipe 的图像去背
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号