比PS还好用!Python 20行代码批量抠图

开发 后端
Python能够成为这样的一种工具:在只有一张图片,需要细致地抠出人物的情况下,能帮你减少抠图步骤;在有多张图片需要抠的情况下,能直接帮你输出这些人物的基本轮廓,虽然不够细致,但也够用了。

比PS还好用!Python 20行代码批量抠图

 

比PS还好用!Python 20行代码批量抠图
抠图前 vs Python自动抠图后

在日常的工作和生活中,我们经常会遇到需要抠图的场景,即便是只有一张图片需要抠,也会抠得我们不耐烦,倘若遇到许多张图片需要抠,这时候你的表情应该会很有趣。

Python能够成为这样的一种工具:在只有一张图片,需要细致地抠出人物的情况下,能帮你减少抠图步骤;在有多张图片需要抠的情况下,能直接帮你输出这些人物的基本轮廓,虽然不够细致,但也够用了。

DeepLabv3+ 是谷歌 DeepLab语义分割系列网络的最新作 ,这个模型可以用于人像分割,支持任意大小的图片输入。如果我们自己来实现这个模型,那可能会非常麻烦,但是幸运的是,百度的paddle hub已经帮我们实现了,我们仅需要加载模型对图像进行分割即可。

1.准备

为了实现这个实验,Python是必不可少的,如果你还没有安装Python,可以关注文末的微信公众号获取下载安装指南

然后,我们需要安装baidu的paddlepaddle, 官方网站就有详细的指引:

  • https://www.paddlepaddle.org.cn/install/quick

 

比PS还好用!Python 20行代码批量抠图

根据你自己的情况选择这些选项,最后一个CUDA版本,由于本实验不需要训练数据,也不需要太大的计算量,所以直接选择CPU版本即可。选择完毕,下方会出现安装指引,不得不说,Paddlepaddle这些方面做的还是比较贴心的(小声bb:就是名字起的不好)。

 

比PS还好用!Python 20行代码批量抠图

要注意,如果你的Python3环境变量里的程序名称是Python,记得将语句改为Python xxx,如下进行安装:

  1. python -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple 

还需要安装paddlehub:

  1. pip install -i https://mirror.baidu.com/pypi/simple paddlehub 

2.编写代码

整个步骤分为三步:

  • 加载模型
  • 指定待抠图的图片目录
  • 抠图
  1. import os 
  2. import sys 
  3. import paddlehub as hub 
  4.   
  5. # 1.加载模型 
  6. humanseg = hub.Module(name="deeplabv3p_xception65_humanseg"
  7.   
  8. # 2.指定待抠图图片目录 
  9. path = './source/' 
  10. files = [] 
  11. dirs = os.listdir(path) 
  12. for diretion in dirs: 
  13.     files.append(path + diretion) 
  14.   
  15. # 3.抠图 
  16. results = humanseg.segmentation(data={"image": files}) 
  17.   
  18. for result in results: 
  19.     print(result['origin']) 
  20.     print(result['processed']) 

不多不少一共20行代码。抠图完毕后会在本地文件夹下产生一个叫做humanseg_output的文件夹。这里面存放的是已经抠图成功的图片。

 

比PS还好用!Python 20行代码批量抠图

3.结果分析

不得不承认,谷歌的算法就素厉害啊。只要背景好一点,抠出来的细节都和手动抠的细节不相上下,甚至优于人工手段。

不过在背景和人的颜色不相上下的情况下,会产生一些问题,比如下面这个结果:

 

比PS还好用!Python 20行代码批量抠图

背后那个大叔完全被忽略掉了(求大叔的内心阴影面积)。尽管如此,这个模型是我迄今为止见过的最强抠图模型,没有之一。

责任编辑:未丽燕 来源: 今日头条
相关推荐

2020-10-23 15:29:48

iPad抠图PC

2020-08-12 09:44:10

AI 数据人工智能

2019-07-24 16:00:37

Python代码高清图片

2022-07-07 08:59:37

requestsPython爬虫框架

2022-10-26 10:15:53

GoFramePHP数组

2021-07-31 07:11:01

WPSExcel软件

2021-06-15 05:15:30

DeepL翻译神器应用

2021-01-07 05:12:27

Persepolis应用下载神器

2022-03-26 22:28:06

加密通信Python

2023-01-30 09:09:51

GoFramePHP数组

2020-10-07 22:26:02

微信工具电脑

2020-10-14 18:53:14

Python编程语言

2021-08-28 23:19:35

Windows 10Windows微软

2021-05-08 10:35:02

开发者技能工具

2020-02-13 11:47:05

GitHub代码开发者

2022-05-09 13:59:41

Python提取PPTword文档

2018-03-07 20:00:12

PythonPDFWord

2024-11-08 17:22:22

2023-10-08 07:54:13

printlnJITJVM

2015-09-21 09:36:54

20 亿代码谷歌
点赞
收藏

51CTO技术栈公众号