关于Python+Opencv实现人脸检测的实验笔记(调用摄像头篇)

概述

最近在学习Python+OpenCV,参考了网上的大牛的实例,自己尝试了下关于人脸检测的实验。 博主使用的是Python2.7和OpenCV3。
本篇是博主做实验的小笔记。本篇是采用打开摄像头来读取画面来检测人脸~
使用了haarcascade_frontalface_alt.xml这个文件

import cv2
import numpy as np

cv2.namedWindow("test")
cap=cv2.VideoCapture(0)
success, frame = cap.read()
classfier=cv2.CascadeClassifier("../haarcascade_frontalface_alt.xml")
while success:
    success, frame = cap.read()
    size=frame.shape[:2]
    image=np.zeros(size,dtype=np.float16)
    image = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    cv2.equalizeHist(image, image)
    divisor=8
    h, w = size
    minSize =(w/divisor, h/divisor)
    faceRects = classfier.detectMultiScale(image, 1.2, 2, cv2.CASCADE_SCALE_IMAGE,minSize)
    if len(faceRects)>0:
        for faceRect in faceRects:
            x, y, w, h = faceRect
            cv2.rectangle(frame, (x, y), (x+w, y+h), (0 ,0  ,255),2)
    cv2.imshow("test", frame)
    key=cv2.waitKey(10)
    c = chr(key & 255)
    if c in ['q', 'Q', chr(27)]:
        break
cv2.destroyWindow("test")

代码以上,参考了网上大牛的代码
关于Python+Opencv实现人脸检测的实验笔记(调用摄像头篇)_第1张图片

成功了!!

小笔记完成

你可能感兴趣的:(关于Python+Opencv实现人脸检测的实验笔记(调用摄像头篇))