首页 » 技术分享 » 用Python做一个戴口罩软件!

用Python做一个戴口罩软件!

 

 

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

 

先看一下展示图:

 

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

 

 

01

核心思想

 

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

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

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

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

 

 

02

界面设计

 

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

 

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

 

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

 

 

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

 

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

 

转载自原文链接, 如需删除请联系管理员。

原文链接:用Python做一个戴口罩软件!,转载请注明来源!

0