用Python做一个戴口罩软件

这是菜鸟学Python第379篇原创” 

加个星标 一起学Python

 

用Python做一个戴口罩软件

 

新型冠状病毒的疫情牵动着全国人民的心,大家都想这个疫情能早一点的过去,大家都能走出家门,而不用蜗居在家中。虽然疫情很可怕,但是大家也要以乐观积极的心态去面对,今天,小编为大家带来了利用python来制作头像口罩的小软件,大家可以上传自己的头像,来为自己的头像添加一个小小的口罩。

 

先看一下展示图:

用Python做一个戴口罩软件

 

大家只需要上传自己的正面人脸头像,并选择自己喜欢的口罩样式,便可以制作头像口罩。下面就跟小编一起来了解一下程序是如何编写的吧。

 

 

01

核心思想

 

程序最核心的一个地方就是如何识别人脸,以及人脸中嘴部的位置。这里小编利用的是dlib库,该库下有Python可以直接调用dlib库进行面部模式识别,其中也包含了准度较高的人脸特征识别。

用Python做一个戴口罩软件

如上图所示,dlib的人脸关键点检测会检测人脸中的68个关键的部位,例如36-40检测的是人的左眼,而48-67检测的是人的嘴部。我们利用的就是dlib库进行嘴部位置的识别,然后确定嘴部的坐标位置,以及嘴部面积的大小,方便我们后续对口罩的大小进行调整,程序如下图所示。

用Python做一个戴口罩软件

得到嘴部的位置和大小之后,接下来我们就是挑选我们喜欢的口罩,并调整口罩的大小,然后将口罩贴到人脸的嘴部位置,程序如下图所示。

用Python做一个戴口罩软件

 

上述程序中我们首先获取人脸中嘴部的位置和大小,然后通过PIL读入口罩图片,并根据嘴部的大小调整口罩的大小,然后将调整大小后的口罩贴到人脸嘴部的位置,并将最终的图片显示在软件中。

 

 

02

界面设计

 

上述我们完成了最为核心的部分,接下来的程序就是设计我们的软件,软件设计采用的是tkinter库,在软件界面中我们首先通过载入图片按钮来选择头像图片,然后通过四个不同的口罩按钮来选择不同的口罩类型,然后进行口罩的穿戴程序,并将最终的结果进行展示,部分程序如下所示。

 

用Python做一个戴口罩软件

上述的程序中,展示的是我们定义了一个标签,标签的图形是不同的口罩类型,然后通过标签绑定不同的事件,通过点击口罩,我们就可以为图像中的人脸佩戴不同形式的口罩。主要都是一些tk的控件布局,可以文末获取源码看一下。

 

最后,小编通过视频的形式为大家展现一下,程序是如何运行的吧。

 

 

以上就是小编为大家带来的口罩穿戴小软件,大家如果想进行拓展的话,可以考虑图像中有多个人俩的情况,以及如何调整口罩的位置来更加贴合人脸。

 

现在口罩是非常紧缺的资源,大家节约用口罩!也希望这次疫情早点过去,小编已经好久没有下楼了,家里的白菜都快吃完了。

 

菜鸟学Python

和26万Python爱好者一起学Python

用Python做一个戴口罩软件

需要本篇源码,后台输入:口罩

宅在家无聊,不如玩看趣味Python干货:

Python心得和技巧:

零基础学了8个月的Python,到底有啥感悟

我珍藏的一些好的Python代码,技巧

菜鸟写Python程序,如何从新手变老手

菜鸟必收藏,13个Python惯用小技巧

近期帮粉丝脱单人气女生:

【武汉女】No.12|95年,肤白,气质佳,喜欢读书

【深圳女】No.10|95年,活泼可爱,喜欢画画

【海外女】No.07|89年,气质美女,长居西班牙马德里,温婉美丽

【北京女】91年,爱写作爱跳舞,气质佳

【苏州女】 96年,活泼可爱,前端开发

用Python做一个戴口罩软件 情人节脱单倒计时,点击阅读原文,30秒火速脱单

获取干货源码,阅读更多有趣的案例,也可以直接去微信公众号【菜鸟学Python】获取。
菜鸟学Python » 用Python做一个戴口罩软件