02
“这是菜鸟学Python第379篇原创”
加个星标 一起学Python
新型冠状病毒的疫情牵动着全国人民的心,大家都想这个疫情能早一点的过去,大家都能走出家门,而不用蜗居在家中。虽然疫情很可怕,但是大家也要以乐观积极的心态去面对,今天,小编为大家带来了利用python来制作头像口罩的小软件,大家可以上传自己的头像,来为自己的头像添加一个小小的口罩。
先看一下展示图:
大家只需要上传自己的正面人脸头像,并选择自己喜欢的口罩样式,便可以制作头像口罩。下面就跟小编一起来了解一下程序是如何编写的吧。
01
核心思想
程序最核心的一个地方就是如何识别人脸,以及人脸中嘴部的位置。这里小编利用的是dlib库,该库下有Python可以直接调用dlib库进行面部模式识别,其中也包含了准度较高的人脸特征识别。
如上图所示,dlib的人脸关键点检测会检测人脸中的68个关键的部位,例如36-40检测的是人的左眼,而48-67检测的是人的嘴部。我们利用的就是dlib库进行嘴部位置的识别,然后确定嘴部的坐标位置,以及嘴部面积的大小,方便我们后续对口罩的大小进行调整,程序如下图所示。
得到嘴部的位置和大小之后,接下来我们就是挑选我们喜欢的口罩,并调整口罩的大小,然后将口罩贴到人脸的嘴部位置,程序如下图所示。
上述程序中我们首先获取人脸中嘴部的位置和大小,然后通过PIL读入口罩图片,并根据嘴部的大小调整口罩的大小,然后将调整大小后的口罩贴到人脸嘴部的位置,并将最终的图片显示在软件中。
界面设计
上述我们完成了最为核心的部分,接下来的程序就是设计我们的软件,软件设计采用的是tkinter库,在软件界面中我们首先通过载入图片按钮来选择头像图片,然后通过四个不同的口罩按钮来选择不同的口罩类型,然后进行口罩的穿戴程序,并将最终的结果进行展示,部分程序如下所示。
上述的程序中,展示的是我们定义了一个标签,标签的图形是不同的口罩类型,然后通过标签绑定不同的事件,通过点击口罩,我们就可以为图像中的人脸佩戴不同形式的口罩。主要都是一些tk的控件布局,可以文末获取源码看一下。
最后,小编通过视频的形式为大家展现一下,程序是如何运行的吧。
以上就是小编为大家带来的口罩穿戴小软件,大家如果想进行拓展的话,可以考虑图像中有多个人俩的情况,以及如何调整口罩的位置来更加贴合人脸。
现在口罩是非常紧缺的资源,大家节约用口罩!也希望这次疫情早点过去,小编已经好久没有下楼了,家里的白菜都快吃完了。
菜鸟学Python
和25万Python爱好者一起学Python
需要本篇源码,后台输入:【口罩】
宅在家无聊,不如玩看趣味Python干货:
Python心得和技巧:
我珍藏的一些好的Python代码,技巧
菜鸟写Python程序,如何从新手变老手
菜鸟必收藏,13个Python惯用小技巧
近期帮粉丝脱单人气女生:
【武汉女】No.12|95年,肤白,气质佳,喜欢读书
【深圳女】No.10|95年,活泼可爱,喜欢画画
【海外女】No.07|89年,气质美女,长居西班牙马德里,温婉美丽
【北京女】91年,爱写作爱跳舞,气质佳
【苏州女】 96年,活泼可爱,前端开发
情人节脱单倒计时,点击阅读原文,30秒火速脱单
本篇文章来源于: 菜鸟学Python
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 如何教孩子们python编程10/30
- ♥ 如何解决python中保存文件的错误?11/24
- ♥ 使用 Python 下载的 11 种姿势,一种比一种高级06/25
- ♥ 什么是python库10/07
- ♥ 如何在python字典中获取对应的键08/27
- ♥ python判断dict中的key是否存在09/10
内容反馈