Python利用Opencv进行摄像头人脸检测
2019-05-04 20:09
387 查看
条件:
1.摄像头
2.已安装Python和OpenCV3
项目所需haarcascade分类器地址:https://github.com/opencv/opencv/tree/master/data/haarcascades
import cv2 import sys import logging as log import datetime as dt cascPath = "haarcascade_frontalface_alt2.xml" faceCascade = cv2.CascadeClassifier(cascPath) # 打开视频捕获设备 video_capture = cv2.VideoCapture(0)##可改为视频 while True: if not video_capture.isOpened(): print('Unable to load camera.') # 读视频帧 ret, frame = video_capture.read() # 转为灰度图像 gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) # 调用分类器进行检测 faces = faceCascade.detectMultiScale(gray,scaleFactor=1.2,minNeighbors=5,minSize=(30, 30),) # 画矩形框 for (x, y, w, h) in faces: cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2) # 显示视频 cv2.imshow('Video', frame) print(len(faces)) if cv2.waitKey(25) & 0xFF == ord('q'): break # 关闭摄像头设备 video_capture.release() # 关闭所有窗口 cv2.destroyAllWindows()
代码演示:
项目总结:
对于opencv的人脸检测方法,人脸Haar特征分类器
特点是简单,快速;
存在的问题是人脸检测效果不好。
正面/垂直/光线较好的人脸,该方法可以检测出来,而侧面/歪斜/光线不好的人脸,无法检测。
因此,该方法不适合现场应用。
对于dlib人脸检测方法 ,效果好于opencv的方法,但是检测力度也难以达到现场应用标准。
相关文章推荐
- 结合OpenCV摄像头使用Dlib库进行人脸检测及标注特征点和提取人脸特征-Python
- python opencv读取海康威视摄像头并进行人脸检测-rtsp协议
- python结合opencv3.4.2,利用深度学习进行人脸检测(sample/dnn)
- 自学笔记:用python和opencv进行摄像头的人脸检测
- Python OpenCV利用笔记本摄像头实现人脸检测
- python利用OpenCV2实现人脸检测
- 基于OpenCV读取摄像头进行人脸检测和人脸识别
- Python 3 利用 Dlib 实现摄像头实时人脸检测和平铺显示
- python+opencv人脸检测摄像头
- python 3利用Dlib 19.7实现摄像头人脸检测特征点标定
- 【Python+OpenCV】实现检测场景内是否有物体移动,并进行人脸检测抓拍
- OpenCV-Python 摄像头实时检测人脸代码实例
- 使用OpenCV+PCA+KNN/SVM进行人脸检测和识别-Python
- MFC中利用Opencv与C++抓取摄像头进行人脸识别(Mat)
- OpenCV实践之路——用dlib库进行人脸检测与人脸标记(Python)
- 利用Opencv自带源码,调试摄像头做人脸检测
- python调用摄像头进行人脸检测
- 基于OpenCV读取摄像头进行人脸检测和人脸识别
- 用dlib和opencv进行不同角度人脸检测及68个关键点提取(Python)
- python+OpenCV进行人脸检测