基于OPENCV的人脸口罩识别
本帖最后由 Mark_Sein 于 2021-1-28 13:55 编辑自从2019年新冠肺炎疫情(COVID-9)横行以来,人们已经充分意识到了个人卫生防护的重要性,在终南山院士的建议下人们平常在外出行的时候都需要带上口罩避免给他人造成不必要的伤害和麻烦。但是周围仍旧有很多的人要么不戴口罩,要么就是戴了口罩但是不遮住鼻子导致效果减半。今天就教大家如何来判断你的对象是否有好好的戴上口罩。
首先我们定义一下怎样算是戴好口罩不戴口罩或者戴了口罩但不把鼻子遮住都算是没有佩戴好口罩都需要提出警告。只有像这样戴了口罩并且良好的遮住鼻子才算是不需要警告的正确佩戴方式下面就让我们来一起实践一下
前期准备:1. Python(使用的为3.7.0)2. Opencv(使用版本为opencv-python: 4.5.1.48)3. 电脑+摄像头(笔记本自带或者USB外接摄像头)4. Vscode代码编辑器(非必要)
具体实施:1. 首先我们需要三个.xml的模型文件,OPENCV自带了两个模型文件关于人正脸的和人鼻子的,还有一个是有关口罩的模型在这里也给到大家这个mask.xml文件2. 实施的逻辑大致如下:1) 首先打开摄像头2) 截取视频流,捕捉每一帧3) 将图像灰化4) 导入三个模型文件5) 将模型文件里与摄像头中捕获的图像进行比对并且对符合的目标作出反应,将目标框出,并标识出当前的人的状态。
实施步骤:相信大家都应该是已经安装好python的所以。。。1. win+R 打开运行,输入cmd进入命令行窗口2. 输入pip install opencv-python并回车3. 下载的过程会比较缓慢,可以替换使用清华的镜像进行下载输入:pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple这样会快很多。4. 安装结束之后会显示成功安装的字样(截止2021/1/27最新版本为4.5.1.48)5. 这个时候运行我们的程序”口罩识别.py”,应该就可以看到你电脑的摄像头已经打开并且可以使用了,程序有关的注意事项已经在程序中以注释的形似进行标注出来了。注意哦,你的程序文件和模型文件需要在同一目录下不然程序会找不到你的模型自然也就运行不起来了,有能力的朋友可以修改模型文件的路径,在这里为了方便我就都放在同一目录下了。 可以看到最后的识别结果还是达到预期的不管是没戴口罩还是没好好戴口罩都能很好的识别出来
最后整体的打包文件我放在这里供大家参考下载了
借助Python丰富的库再结合大家今天学到的口罩识别,期待大家能在作出更加功能丰富且有趣的小项目,来用各位新奇的脑洞来警醒人们好好戴口罩对别人和自己都好。
好像对眼镜的识别不是很好 {:5_151:}
页:
[1]