欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

学Python真香!我用100行代码做了个网站,帮人PS旅行图片,赚个鸡腿吃!

程序员文章站 2024-03-16 10:14:43
...

学Python真香!我用100行代码做了个网站,帮人PS旅行图片,赚个鸡腿吃!

春节假期,受到疫情的影响,想必大家都没有出门游玩,而是都响应国家的号召,待在家里。长期的居家生活,大家肯定会无比的想念美好的自然风光给大家带来的美好体验。

虽然不能出门,但是我们可以利用python来带领大家出去旅游,今天小编就带领大家利用python和Flask实现旅游的小目标,让大家足不出户,就能晒出自己的旅游照。

01

功能简介

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

学Python真香!我用100行代码做了个网站,帮人PS旅行图片,赚个鸡腿吃!

02

提取人像照片

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

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

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

程序如下图所示:

学Python真香!我用100行代码做了个网站,帮人PS旅行图片,赚个鸡腿吃!

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

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

学Python真香!我用100行代码做了个网站,帮人PS旅行图片,赚个鸡腿吃!

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

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

学Python真香!我用100行代码做了个网站,帮人PS旅行图片,赚个鸡腿吃!

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

03

把程序跟Flask结合

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

学Python真香!我用100行代码做了个网站,帮人PS旅行图片,赚个鸡腿吃!

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

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

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

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

视频尝鲜:

学Python还是很香的吧,还等着啥,赶紧学起来,操练起来!自动动手PS照片,真香!

往期趣味Python

30行Python代码来绘制一个微信图标

手把手教你50行Python代码,给心目中的女友微博秒评论

还在做重复的劳动,不如用Python自动生成Excel以邮件发送

学Python真香!我用100行代码做了个网站,帮人PS旅行图片,赚个鸡腿吃!

????长按上方二维码 2 秒
回复「好书」即可获取7本程序员软件匠艺必读书


学Python真香!我用100行代码做了个网站,帮人PS旅行图片,赚个鸡腿吃!点击阅读原文,直达菜鸟玩Python B站