用python给自己的爱豆带上口罩
背景
#宅在家学习技巧# 最近受到疫情干扰严重,相对平安的各位,在家除了应付公司的远程考勤意外,都在家里丰富自己自己的生活。当然还有一部分爱学习的小朋友,拿起了国民打卡神器开始了学习!
其实,我所在的IT服务行业,早就现场开工了。所以,上班记得戴口罩,勤洗手,勤换衣,随时保持一个爱干净的习惯,就能极大的降低感染病毒的风险。
最近,在朋友圈看到有朋友的头像已经改为了带上口罩的样子,所以自己打算也搞一个。如果用PS的话,对于程序员来讲,技术含量可就没有那么高了。本着发挥python的魅力,再加上前段时间学了一下face_recognition模块,打算做一个识别出人脸后自动戴口罩的程序。在查询完资料的时候,已经发现有朋友实现了python语言自动戴口罩的代码,所以就放弃自写了,正所谓“人生苦短,我用python”。
今天就给大家带来的是为了自己的爱豆照片带上口罩的操作方法,顺便探索一下源代码。
我将按照最基础的步骤,配合大家开始实现头像带上口罩
安装环境
windows操作系统
python3.6 下载
安装步骤
1. 安装python3.6
下载python downza
根据系统版本,选择安装python。
32位操作系统安装第1个,64位操作系统安装第2个
1. 打勾 Add python 3.6 to PATH
2. Install Now
一直下一步下一步,安装完成
2. 确认安装成功python
进入电脑cmd命令,输入python -V,如果出现类似上图以上的版本号,即可代表成功
3. 安装face-mask模块
继续cmd命令 ,输入以下内容
pip install face-mask -i pypi.douban
这个命令就是从国内的python镜像网站下载face-mask
如果遇到报错 CMake must be installed to build the following extensions: dlib,那就先输入下面命令,再继续
pip install cmake -i https://pypi.douban.com/simple
这个命令就是从国内的python镜像网站下载CMake
4. 准备好含有人脸的照片
在网上随手找的人脸信息,分别代表女人、小孩儿、男人、欧洲人和非真人图片,把这些图片放入一个指定的文件夹比如,test文件夹
5. 开始戴口罩
用cmd命令进入人脸的文件夹:test文件夹
输入下面代码 fask-mask 2.jfif
face-mask是调用命令, 2.jfif是我的图片名称(包含扩展名)
生成成功
此时,文件夹内多出来一个2-with-mask图片文件
依次输入其他图片
其中3号图片没有成功,是因为是非真人,所以没有正常识别
最后的结果如图:
6.扩展阅读
单一的口罩样式,不能体现自己的专业,我们怀着学习的态度,来看看它的源码,看看能否改一下口罩样式
python安装的路径Libsite-packagesface_mask
打开路径后可以看到
文件夹内容
目录内部有2个文件夹,2个python文件
其中__pycache__不用管,这个是缓存,我们先看一下images
images里面是口罩图片,我猜测应该可以换口罩来带
然后,我们再看一下__init__.py,空的。那就打开__main__.py呢?
在里面我们找到关键源代码
内部导入了图片工具类,看来是对图片进行了处理(这不废话么)
我英文不好,大概翻译一下
--show 是否使用蒙层显示照片?
--model 分析模型,这个人工智能训练模型有关
--black 黑色口罩,对应上面的图片路径
--blue 蓝色口罩,对应上面的图片路径
--red 红色口罩,对应上面的图片路径
7. 试试红色口罩
face-mask 2.jfif --red
口罩果然变成红色了,可能也许口罩不是那么协调,你也可以尝试下载一个其他图片放在里面进行改动。
再往下的代码就是具体实现了,简单看了一下是采用face_recognition识别人脸以及眼睛、鼻子、嘴巴的距离,再通过一定的算法,将口罩给带上去
face_recognition:一个开源的人脸识别类
总结
face-mask 是基于 人脸识别扩展后的有趣框架,整体代码量并不多,阅读清晰。居于人脸框架的识别,以后将会有越来越多有意思的事情
大家还记得去年圣诞节送红帽的事情吗,这个算得上是 异曲同工
喜欢的朋友,记得关注、点赞、收藏三连击,谢谢~
luku327
校验提示文案
值友8478276932
校验提示文案
luku327
校验提示文案
值友8478276932
校验提示文案