OpenCV找出视频文件中的人脸

代码位置:22-GetFaceFromMovie.py

import cv2
import os

cameraCapture = cv2.VideoCapture('./res/test.mp4')

path = os.getcwd() + '/XML/haarcascade_frontalface_alt_tree.xml'
detector = cv2.CascadeClassifier(path)

cv2.namedWindow('Test camera')
success, frame = cameraCapture.read()
while success:
    if cv2.waitKey(1) == 27:
        break
    success, frame = cameraCapture.read()
    rects = detector.detectMultiScale(frame, scaleFactor=1.1, minNeighbors=2, minSize=(100, 100),
                                      flags=cv2.CASCADE_SCALE_IMAGE)
    if len(rects) > 0:
        for (x, y, w, h) in rects:
            cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 0, 255), 1)
        cv2.imshow('Test camera', frame)

cv2.destroyAllWindows()
cameraCapture.release()
  • 这里是结合前面所讲的从摄像头读数据的那个Demo来的。
  • 从视频文件中读出贞数据,其实就是一张图片,然后对这张图片做人脸检测。
  • minSize=(100, 100) 这参数可以修改。明敏度不同。
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/kingroc/article/details/84840351