900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > OpenCV学习——摄像头实时进行人脸识别

OpenCV学习——摄像头实时进行人脸识别

时间:2022-09-02 01:08:57

相关推荐

OpenCV学习——摄像头实时进行人脸识别

前面学习了通过存储摄像头捕获的画面图像,然后对图像中的人脸进行识别检测,本文学习通过摄像头进行实时检测人脸。

OpenCV学习——人脸读取,信息库比对_笨小古的博客-CSDN博客

# 实例化级联分类器classifier =cv.CascadeClassifier( "haarcascade_frontalface_default.xml" ) # 加载分类器classifier.load('haarcascade_frontalface_default.xml')

rect = classifier.detectMultiScale(gray, scaleFactor, minNeighbors, minSize,maxsize)

Gray: 要进行检测的人脸图像

scaleFactor: 前后两次扫描中,搜索窗口的比例系数

minneighbors:目标至少被检测到minNeighbors次才会被认为是目标

minsize和maxsize: 目标的最小尺寸和最大尺寸

import cv2 as cv# 开启摄像头cap = cv.VideoCapture(0)# 在每一帧数据中进行人脸识别while (cap.isOpened()): # 摄像头开启后执行ret, frame = cap.read()if ret == True:gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY) # 以灰度图的形式读取图像# 实例化OpenCV人脸识别的分类器face_cascade = cv.CascadeClassifier(r'data\opencv\sources\data\haarcascades\haarcascade_frontalface_default.xml')face_cascade.load(r'data\opencv\sources\data\haarcascades\haarcascade_frontalface_default.xml')# 调用识别人脸faceRects = face_cascade.detectMultiScale(gray, scaleFactor=1.2, minNeighbors=3, minSize=(32, 32))for faceRect in faceRects:x, y, w, h = faceRect# 框出人脸cv.rectangle(frame, (x, y), (x + h, y + w), (0, 255, 0), 3)cv.imshow("frame", frame)if cv.waitKey(1) & 0xFF == ord('q'):break# 释放资源cap.release()cv.destroyAllWindows()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。