Python+OpenCV进行视频中人脸检测

环境

安装python 和 Opencv。在windows下要将opencv的build/python/2.7/cv2.pyd复制到python的目录Lib/site-packages下。

程序

使用opencv官方训练的人脸级联分类器haarcascade_frontalface_alt2.xml,Python代码参考我的项目。

import cv2
import sys

cascPath="./haarcascade_frontalface_alt2.xml"
faceCascade = cv2.CascadeClassifier(cascPath)

video_capture = cv2.VideoCapture(0)
while True:
 # Capture frame-by-frame
   ret, frame = video_capture.read()
   gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
   faces = faceCascade.detectMultiScale(
       gray,
       scaleFactor=1.1,
       minNeighbors=3,
       minSize=(30, 30),
       flags=cv2.cv.CV_HAAR_SCALE_IMAGE
   )
   # Draw a rectangle around the faces
   for (x, y, w, h) in faces: 
      cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2)
   # Display the resulting frame
   cv2.imshow('Video', frame)
   if cv2.waitKey(1) & 0xFF == ord('q'):
       break
# When everything is done, release the capture
video_capture.release()
cv2.destroyAllWindows()

检测结果

播放视频时,可以实时检测出视频中的人脸。
Python+OpenCV进行视频中人脸检测_第1张图片

你可能感兴趣的:(目标检测,Python,opencv学习)