OpenCV学习——摄像头实时进行人脸识别
rect = classifier.detectMultiScale(gray, scaleFactor, minNeighbors, minSize,maxsize)Gray: 要进行检测的人脸图像scaleFactor: 前后两次扫描中,搜索窗口的比例系数minneighbors:目标至少被检测到minNeighbors次才会被认为是目标minsize和maxsize: 目标的最小尺寸和最大尺
·
前面学习了通过存储摄像头捕获的画面图像,然后对图像中的人脸进行识别检测,本文学习通过摄像头进行实时检测人脸。
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()
更多推荐


所有评论(0)