寒假太无聊?不如几十行写个人脸检测
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
(这个里面就是我们各种识别器的内容了,有嘴巴呀,鼻子,人脸呀,都可以直接用的,用法和上面的一样,导入我们的类识别器)
以上是关于寒假太无聊?不如几十行写个人脸检测的主要内容,如果未能解决你的问题,请参考以下文章