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

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

嘿嘿

各位宝子们好呀,终于终于放寒假了,有什么新计划,或者说有哪一些好玩的事呢?反正我总是喜欢去找一些稀奇古怪的事情去做,比如说?就写了一个动态的人脸检测!!!我们做一个简单的人脸识别的主要就分成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

(这个里面就是我们各种识别器的内容了,有嘴巴呀,鼻子,人脸呀,都可以直接用的,用法和上面的一样,导入我们的类识别器)

目录
打赏
0
0
0
0
19
分享
相关文章
技术心得记录:怎么更快地合成大西瓜?搞懂游戏的源码,闭着眼睛都能成功!
技术心得记录:怎么更快地合成大西瓜?搞懂游戏的源码,闭着眼睛都能成功!
130 0
受蜘蛛感知系统启发的超灵敏机械裂缝传感器-阅读笔记
文章仿生蜘蛛的缝感受器,设计制造了高灵敏度的应变传感器(GF>2000,0.2%)。
【C++】 夜的尽头不是 引用,是天空没有极限(下)
【C++】 夜的尽头不是 引用,是天空没有极限
91 1
推荐五个好用的小软件,放大快乐,缩小悲伤
分享是一种力量,它能放大快乐,它能缩小悲伤,我喜欢分享一些好用的软件给大家,今天也要继续这个习惯,为大家介绍五个好用的小软件。
106 0
【C++】 夜的尽头不是 引用,是天空没有极限(上)
C++的引用细节可能较多,所以大家可能要处处留心,多思考,多回顾哦!
78 0
把B超探头做成贴纸贴在身上,48小时不间断成像,MIT新研究登上Science
把B超探头做成贴纸贴在身上,48小时不间断成像,MIT新研究登上Science
145 0
【硬核教程】,如何摆脱黑白框编程,1小时学会用c++做一个飞机大战
【硬核教程】,如何摆脱黑白框编程,1小时学会用c++做一个飞机大战
电脑屏幕太小不够用?这有妙招!
为什么需要分屏功能?其实需求场合有很多。比如,我现在屏幕很大,但我们的代码一般是左对齐,右边很空,这样我们就可以通过分屏来充分利用右边的屏幕。再如,我现在想同时查看多个文档,除了打开多个终端外,我们还可以通过分屏来达到我们的目的。
206 0
电脑屏幕太小不够用?这有妙招!