抠图前 vs Python自动抠图后

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

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

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

1.准备

为了实现这个实验,Python是必不可少的,如果你还没有安装Python,建议阅读我们的这篇文章哦:超详细Python安装指南。

然后,我们需要安装百度的paddlepaddle, 进入他们的官方网站就有详细的指引:

www.paddlepaddle.org.cn/install/qui…

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

(就是名字起的不好)。

要注意,如果你的Python3环境变量里的程序名称是Python,记得将语句改为Python xxx,如下进行安装:python -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple复制代码

2.编写代码

整个步骤分为三步:

1.加载模型

2.指定待抠图的图片目录

3.抠图

import osimport sysimport paddlehub as hub# 1.加载模型humanseg = hub.Module(name="deeplabv3p\_xception65\_humanseg")# 2.指定待抠图图片目录path = './source/'files = \[\]dirs = os.listdir(path)for diretion in dirs: files.append(path + diretion)# 3.抠图results = humanseg.segmentation(data={"image": files})for result in results: print(result\['origin'\]) print(result\['processed'\])复制代码

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

本文20行代码及所有图片,请在关注本文最下方公众号后台回复:Python自动抠图 下载。

3.结果分析

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

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

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

我们的文章到此就结束啦,如果你希望我们今天的Python 教程,请持续关注我们,如果对你有帮助,麻烦在下面点一个赞/在看哦

有任何问题都可以在下方留言区留言,我们都会耐心解答的!

​Python实用宝典 (pythondict.com)

不只是一个宝典

欢迎关注公众号:Python实用宝典

python人物抠图算法_比PS还好用!Python 20行代码批量抠图相关推荐

  1. python开发ps插件_你还在用PS?Python 20行代码批量抠图

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

  2. python 抠图源码_比PS还好用!Python 20行代码批量抠图

    你是否曾经想将某张照片中的人物抠出来,然后拼接到其他图片上去,从而可以即使你在天涯海角,我也可以到此一游? 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道 ...

  3. python实现排序算法_数据结构之(3)python实现排序算法

    常用排序与插入算法 冒泡排序 冒泡排序(英语:Bubble Sort)是一种简单的排序算法.它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.遍历数列的工作是重复地进行直 ...

  4. python不会怎么办_怕你还不会Python函数,我特意为你整理了一篇博客

    什么是函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也可以自己 ...

  5. 基于python的证件照_python证件照换底色原来这么简单,20行代码解决!

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于腾讯云 作者:Python进阶者 ( 想要学习Python?Pyth ...

  6. python去除视频马赛克_马赛克是否无法逆转?Python简单消除,看片无忧!

    图片水印,轻松去除 前段时间玩过了全民K歌,不知道大家是否玩过,还是做得挺好的,就我这嗓子都能唱出张学友的味道,其中更是有消除噪声的功能,就是朋友们都在吃鸡大叫,我在旁边唱歌依然不受影响. 既然声音可 ...

  7. Python用20行代码实现完整邮件功能 [完整代码+建议收藏]

    大家好,我是Lex 喜欢欺负超人那个Lex 擅长领域:python开发.网络安全渗透.Windows域控Exchange架构 今日重点:python脚本实现发送邮件,邮件添加附件,读取接收邮件等功能. ...

  8. 女神相册密码忘记了,我只用Python写了20行代码

    ​视频地址 我用20行代码,帮女神破解相册密码 一.事情是这样的 今早上班,公司女神小姐姐说,她去年去三亚旅游的照片打不开了 好奇问了一下才知道. 原来是,她把照片压缩了,而且还加了密码. 但是密码不 ...

  9. python黑科技:Python大佬用20行代码带你打造一个微信聊天机器人,真神了~

    如何用20行Python代码打造一个微信群聊助手? 1.安装python环境 2.安装python的itchat库 3.安装itchat库 4.Linux 5.申请图灵机器人API和key 6.编写p ...

最新文章

  1. 在Windows下编译FFmpeg详细说明
  2. bubble click event handling
  3. IIS添加直接下载的文件类型
  4. python3.6sysos_求大佬,这是什么情况啊
  5. json非法字符有哪些_JSON文件中非法字符的处理
  6. php异步方案,php 伪异步执行实现方法
  7. phpcms v9宽字节注入问题
  8. 【LeetCode】【HOT】160. 相交链表
  9. 智能会议系统(9)---流媒体协议学习
  10. android demo 调用,Android中调用C++函数的一个简单Demo
  11. 第四周笔记 c++ Boolan
  12. Effective C# Item17:尽量减少装箱和拆箱
  13. 信雅达银行外包怎么样_光大银行信用卡逾期2年3万会坐牢吗?信用卡逾期半年要起诉...
  14. php区块链开发游戏,php程序员如何开发区块链、以太坊、智能合约的教程
  15. Hcse 交换知识点-3
  16. hdp ambari Confirm Hosts 部署错误问题
  17. 我的世界服务器信息显示等级,我的世界空岛服务器怎么查方块等级 | 手游网游页游攻略大全...
  18. java 判断日期格式_java判断字符是否是日期格式
  19. bequeath_conn
  20. 堪比巨著:饿了么交易系统5年演化血泪史

热门文章

  1. html神坑之button的type属性
  2. android切换域名,android通过gradle切换域名,替换app的String资源(修改app名称,图标)
  3. spark安装-3台虚拟机
  4. linux服务器抓包实例
  5. Kafka系统介绍及高性能原理
  6. XXTEA的实现(javascript版本)
  7. 八段锦健身养生功法介绍
  8. PriceFromImage\UnCodebase
  9. Android百度地图地理围栏定位间隔
  10. 关于babel配置使用可选链