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.jpg-600

2.jpg-600

3.jpg-600

4.jpg-600

5.jpg-600

 import paddlehub as hub from pathlib import Path paths = [str(i) for i in Path('.').glob('*.jpg-600')]  # 当前路径下所有.jpg-600文件 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_humansegC:\Users\Administrator\.paddlehub\modules

效果

文件名原图效果
1.jpg-600
2.jpg-600
3.jpg-600
4.jpg-600
5.jpg-600

详解

人像分割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 代码 实现一键批量扣图

总结

到此这篇关于Python快速实现一键抠图功能的文章就介绍到这了,更多相关Python一键抠图内容请搜索html中文网以前的文章或继续浏览下面的相关文章希望大家以后多多支持html中文网!

以上就是Python快速实现一键抠图功能的全过程的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » python