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

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

简介

使用百度深度学习框架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

标签:python,抠图
0
投稿

猜你喜欢

  • 详解如何修改jupyter notebook的默认目录和默认浏览器

    2022-07-01 14:34:54
  • python爬取网页版QQ空间,生成各类图表

    2023-01-18 06:30:58
  • pycharm下打开、执行并调试scrapy爬虫程序的方法

    2022-08-07 09:30:52
  • Python绘制数据图表的超详细教程

    2021-03-05 01:54:36
  • python property的使用技巧分享

    2022-11-18 21:25:51
  • 使用python批量化音乐文件格式转换的实例

    2022-11-24 02:48:16
  • python的多线程原来可以这样解

    2021-02-22 16:12:18
  • 基于webstorm卡顿问题的2种解决方法

    2023-02-23 09:03:17
  • Pytorch之view及view_as使用详解

    2023-10-09 23:10:34
  • golang 如何通过反射创建新对象

    2024-04-27 15:24:38
  • sql模式设置引起的问题解决办法

    2024-01-17 03:38:16
  • python的reverse函数翻转结果为None的问题

    2022-06-20 16:27:32
  • 一个可应用在ASP 标记加密文件的MD5的DLL组件

    2008-04-12 07:21:00
  • python fire库的使用实例教程

    2023-08-24 14:01:22
  • Vue基础学习之项目整合及优化

    2024-05-21 10:28:49
  • Django 项目重命名的实现步骤解析

    2021-01-13 14:05:49
  • 如何在Django中使用聚合的实现示例

    2021-08-02 10:32:30
  • Python函数中apply、map、applymap的区别

    2022-08-11 04:20:36
  • golang 结构体初始化时赋值格式介绍

    2024-04-26 17:26:11
  • js获取select选中的option的text示例代码

    2024-04-19 09:58:48
  • asp之家 网络编程 m.aspxhome.com