问题遇到的现象和发生背景
为什么我的cv开启摄像头识别人脸时,需要一直按着空格键才能连续识别呢?
问题相关代码,请勿粘贴截图
#导入cv模块
import cv2 as cv
#检测函数
def face_detect_demo(img):
#灰度处理
gray = cv.cvtColor(img,cv.COLOR_BGRA2GRAY)
#调用训练数据集(分类器)
face_detect = cv.CascadeClassifier('D:/PycharmProject/venv/Lib/site-packages/cv2/data/haarcascade_frontalface_alt2.xml')
#
face = face_detect.detectMultiScale(gray,1.05,4,0,(100,100),(1000,1000))
for x,y,w,h in face:
#绘制矩形
cv.rectangle(img,(x,y),(x+w,y+h),color=(0,0,255),thickness=5)
cv.imshow('result',img)
#读取图像
cap = cv.VideoCapture(0)
#循环
while (cap.isOpened()):
ref,frame = cap.read()#capture.read(): 返回两个值ref和frame,前者为True或False表示有没有读取到图片,后者参数表示截取到的每一张图片。
if not ref:
break
face_detect_demo(frame)
if ord('q') == cv.waitKey(0):
break
#释放内存
cv.destroyWindows()