受到疫情反复的影响,很多小伙伴原定的出游计划都被打断了,也就拍不出美美的照片了,今天小千就来给大家分享一篇利用Python自动抠图并自动合成全新背景照片,让你足不出户游遍全球。

功能简介

我们今天实现的小功能就是,利用python来提取我们的人体图像,然后将我们提取的人像跟背景向结合,最后通过flask在界面上进行显示,其流程如下图所示:

提取人像照片

首先是人像的提取,对于人像的提取,可以利用removebg库,该库需要大家去它的官网进行注册,然后按照教程获取API密钥,并安装removebg库。

由于该库免费使用的次数少,而且需要花钱进行续费,因此小编决定采用百度AI提供的接口,对于大家个人使用和验证来说,百度AI提供的免费次数足够使用。

对于百度API的使用,大家也已经不陌生了,大家只需要创建对应的应用,然后获取到API的ID、KEY和SECRET_KEY即可调用其接口。

程序如下图所示:

上述的程序中,我们首先读入二进制的图片信息,然后通过百度API提供的接口,上传我们的图片信息,然后获取我们需要的前景图片信息,将其保存到本地文件夹下即可。

有了我们的前景,也即人体的图像,接下来就是如何将其与背景结合,程序如下图所示:

上述的程序中,我们首先利用Image读入背景图片和前景图片,然后将前景图片缩放到合适的尺寸,然后将前景图片进行分离,分离出前景图片中alpha通道的信息,alpha通道控制着图片的透明度信息,我们将前景粘贴到背景图片时,需要将alpha通道提取出来作为mask传入,否则组合出来的图片将不会有透明的效果。

我们上面分别将处理了人像提取和前景背景图片的组合,并将两个函数组合在一起命名为travel_image。如下图所示:

程序中传入的是前景图片和背景图片的路径,以及组合好之后组合图片的名字,rate指的是前景图片的大小调整比例。函数返回的是组合好的图片的保存路径。

把程序跟Flask结合

接下来我们要做的就是将程序与flask结合。其部分程序如下图所示:

上述程序中,我们首先获取上传的两张图片,这里我们规定上传的图片是2张,分别是前景图片和背景图片;

而且前景图片和背景图片的命名也有需求,就是背景图片的名称排序必须要在前景图片名称之前。程序判断如果上传的是2张图片,便会调用我们的travel_image函数,返回我们的保存路径;

然后将路径信息传给html文件,html文件便会根据图片的地址来读取图片,并在页面上进行显示;

最后,我们来展示一下整个程序的执行过程

本文来自千锋教育,转载请注明出处。

教你用Python合成人像,足不出户游遍全球!相关推荐

  1. python在财务中的应用-【手把手教你】Python金融财务分析

    微信公众号: 1. 货币时间价值 实际上numpy和scipy很强大,包含了计算各种财务指标的函数,可以直接调用,终值(fv).现值(pv).净现值(npv).每期支付金额(pmt).内部收益率(ir ...

  2. python新手入门代码-新手必看:手把手教你入门 Python

    原标题:新手必看:手把手教你入门 Python 本文为 AI 研习社编译的技术博客,原标题 : Learning Python: From Zero to Hero 翻译 |永恒如新的日常校对 | 酱 ...

  3. 手把手教你用Python打造一个语音合成系统

    击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 大弦嘈嘈如急雨,小弦切切如私语. / ...

  4. 手把手教你使用Python轻松打造淘宝主图视频生成神器

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 人世几回伤往事,山形依旧枕寒流. ...

  5. 怎么用python自制计算公式_手把手教你用python制作简易计算器,能够记录你使用的情况...

    话不多说,首先先看效果图,它能够记录你在使用过程中的历史,方便你查看是否有错: 接下来就仔细分析一下是如何制作的: 简易计算器 第一步:导入资源库 在过程中使用到了tkinter这个资源库,win+R ...

  6. 基于python的证件照_20行代码教你用python给证件照换底色的方法示例

    1.图片来源 该图片来源于百度图片,如果侵权,请联系我删除!图片仅用于知识交流. 2.读取图片并显示 imread():读取图片: imshow():展示图片: waitkey():设置窗口等待,如果 ...

  7. python 靶心_手把手教你使用Python实战反欺诈模型|原理+代码

    原标题:手把手教你使用Python实战反欺诈模型|原理+代码 作者 | 萝卜 来源 | 早起Python(ID: zaoqi-python) 本文将基于不平衡数据,使用Python进行 反欺诈模型数据 ...

  8. 手把手教你用Python构建自己的「王二狗」

    题图 | 智能二狗聊天机器人 导读 在人手N部智能手机的时代,我们对聊天机器人早已不陌生.这两年很火的游戏群聊天机器人「王二狗」更是用它的机智幽默征服了很多人. 今天,我们将手把手教你用Python从 ...

  9. 独家 | 教你用Python来计算偏差-方差权衡

    作者:Jason Brownlee 翻译:吴振东 校对:车前子 本文约3800字,建议阅读8分钟. 本文为你讲解模型偏差.方差和偏差-方差权衡的定义及联系,并教你用Python来计算. 衡量一个机器学 ...

最新文章

  1. 0x58 数据结构优化DP
  2. SBB:pH主导土壤中固氮群落的共存与装配
  3. 7-7 宇宙无敌大招呼 (C语言)
  4. python小课堂28_python学习28——课后练习
  5. python3 opencv 输出中文
  6. Python进阶11-标准库介绍02
  7. 如何验证c++代码线程安全性_Python3基础:如何验证你的代码
  8. Scala赋值运算符分类
  9. linux对硬盘进行分区吗,linux对4T硬盘进行分区
  10. linux ulipad,如何在windows下安装配置python工具Ulipad
  11. C++封装继承多态理解
  12. 单片机中段程序_80C51单片机中断的编程使用方法介绍
  13. 统计|如何观测两变量之间的相关系数及含义
  14. python爬虫实践——爬取豆瓣电影排行榜
  15. 极化SAR图像四成分分解
  16. Pandas拼接、数据分析实操
  17. 跟循泰国国内游宣传曲MV,像本地人一样游曼谷
  18. 应用容器化之Kubernetes实践
  19. 执法仪接入GB28181平台实现实时监控、对讲、报警、定位等管理
  20. Vue app.js文件过大,带宽占用过大,优化方案(持续优化)

热门文章

  1. 复旦大学肖仰华教授:知识图谱与认知智能 | 附PPT下载
  2. 【Java基础】HashMap原理详解
  3. 分割平面、空间问题 数学公式
  4. java耗时操作阻塞_springboot~高并发下耗时操作的实现
  5. 2021超详细的Dart语言基础总结~你值得拥有~
  6. Elasticsearch系列「零」架构解析与最佳实践
  7. MFC——基于MFC对话框程序中添加菜单栏 (CMenu)解决方案
  8. [USACO1.1]黑色星期五Friday the Thirteenth
  9. Mycat社区出版: 分布式数据库架构及企业实践——基于Mycat中间件
  10. Mac系统如何配置adb路径