赞
踩
import cv2
cap = cv2.VideoCapture(0)
cv2.namedWindow('v')
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()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。