open-cv入门实例人脸识别

1.导入cv库

import cv2

2.摄像头的捕捉

cap = cv2.VideoCapture(0)

3.创建窗口

cv2.namedWindow('v')

4.加载人脸数据

face_data = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')

while True:
    # 读取视频每一帧
    ret, frame = cap.read()

    # 得到每一帧-进行图像计算
    # 灰度转换:转换成灰度的图计算强度降低
    # 转为灰度图片,减少程序符合,提高识别度
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    # 等待用户操作
    # cv2.waitKey(30)
    # print(frame)
    # 检测人脸,将每一帧摄像头记录的数据带入OpenCv中,让Classifier判断人脸
    # 其中gray为要检测的灰度图像,1.3为每次图像尺寸减小的比例,5为minNeighbors
    faces = face_data.detectMultiScale(gray, scaleFactor=1.15, minNeighbors=5, minSize=(5, 5))

    # 框选人脸,for循环保证一个能检测的实时动态视频流
    for (x, y, w, h) in faces:
        # xy为左上角的坐标,w为宽,h为高,用rectangle为人脸标记画框
        cv2.rectangle(frame, (x, y), (x + w, y + w), (0, 255, 0), 1)

        cv2.imshow('F', frame)
    # 按q键退出
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
#释放摄像头
cap.release()  
cv2.destroyAllWindows()

你可能感兴趣的:(opencv,opencv,计算机视觉,python,人脸识别)