寒假太无聊?不如几十行写个人脸检测

Posted 小唐同学超爱小黄同学

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了寒假太无聊?不如几十行写个人脸检测相关的知识,希望对你有一定的参考价值。


嘿嘿

各位宝子们好呀,终于终于放寒假了,有什么新计划,或者说有哪一些好玩的事呢?反正我总是喜欢去找一些稀奇古怪的事情去做,比如说?就写了一个动态的人脸检测!!!我们做一个简单的人脸识别的主要就分成3个步骤,1.调用摄像头,2,加载识别器,3,画框框

完整代码

import cv2
import numpy as np
def video_demo():
    #调用摄像头
    capture = cv2.VideoCapture(0)
    while (True):
        #读取我们摄像头里面的类容
        ret, frame = capture.read()
        frame = cv2.flip(frame, 1)
        #显示每一帧
        face_patterns = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
        faces = face_patterns.detectMultiScale(frame , scaleFactor=1.1, minNeighbors=5, minSize=(100, 100))
        print(faces)
        for (x, y, w, h) in faces:
            cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2)
        cv2.imshow("jiemian", frame)
        c = cv2.waitKey(1)
        if c == 27:
            break
video_demo()

代码介绍

我们首先就是要加载出我们电脑的摄像头,也就是,系统自带的就是0,至于其他的,宝们可以自己去试着修改一下

 capture = cv2.VideoCapture(0)

获取完之后,我们就要去接收我们的摄像头的返回值,也就是一帧一帧的图画

 ret, frame = capture.read()
 frame = cv2.flip(frame, 1)

接下来就是,对于我们获取下来的图像进行一个分析和把我们的人脸给画出来,在这里,我们就是使用了我们的人脸的类识别器(简单的来说,就是我们人脸的数据集合,别人帮你做好了的,一般都是xml),我把它放在了我们同一个目录下面,然后就可以直接去使用了

【】预先留个位置,我到时候也会去教你们怎么做类识别器的!(爬取爬取+分析)

之后的话就是对于我们的人脸经行一个画框和结果的展示啦!!!

等会,这个寒假我再去把他给完善一下,现在只是人脸检测,我到时候去做一个人脸识别!!!

毕竟,上面这些的面部特征,我们要派上用处,目前我的思路就是,通过欧拉路径来对人脸进行比对!!!一起好好期待一下把!如果你有什么好玩的,或者说更好的方法,欢迎私聊,评论喔!

识别器地址

https://pan.baidu.com/s/1fWuFDlWhYFXA6OjEQQcaUw
提取码:0mrr
(这个里面就是我们各种识别器的内容了,有嘴巴呀,鼻子,人脸呀,都可以直接用的,用法和上面的一样,导入我们的类识别器)

以上是关于寒假太无聊?不如几十行写个人脸检测的主要内容,如果未能解决你的问题,请参考以下文章

Android的虹软人脸识别和活体检测(附含10000个人脸图片和特征zip下载)

无聊日记-MAC搭建win10虚拟机进行磁盘分区

python实现简单函数发生器

Qt编写百度离线版人脸识别+比对+活体检测

求人脸识别源代码

寒假每日一题剪绳子(个人练习)详细题解+推导证明(第六天)