python tkinter获取屏幕大小_用Python做一个戴口罩软件

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

加个星标 一起学Python

6faf54c1a56a3009546756be16bc4257.png

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

先看一下展示图:

dd356f2773671d741de1dfbfca891aad.png

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

01

核心思想

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

fc716d4d8e7cab5298c87b8fbff3dc6d.png

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

e6d266602514d43e108278e27c61c7b1.png

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

a6ece715021611bac5413c4ec1138c74.png

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

02

界面设计

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

c6185399d52c5cfde1e83f6025fdabbc.png

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

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

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

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

菜鸟学Python

和25万Python爱好者一起学Python

5be4b32a0be3ae1f885ec09784205358.png

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

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

Python心得和技巧:

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

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

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

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

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

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

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

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

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

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

9eaa4c120e1a286a0104e18a80352be0.gif 情人节脱单倒计时,点击阅读原文,30秒火速脱单

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值