while True: ret,img = cam.read() gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) #识别人脸 faces = face_cascade.detectMultiScale( gray, scaleFactor = 1.2, minNeighbors = 5, minSize = (int(minW),int(minH)) ) #进行校验 idnums=['0','1'] for(x,y,w,h) in faces: cv2.rectangle(img,(x,y),(x+w,y+h),(0,255,0),2) confidence_list = [] # 存储每个人脸与所有N个用户之间的相似度 idnum, confidence = recognizer.predict(gray[y:y+h, x:x+w], i+1) confidence_list.append(confidence) # 找到相似度最高的那个用户ID号,并将其存储在idnums列表中 max_index = confidence_list.index(min(confidence_list)) if confidence_list[max_index] < 100: idnums.append(max_index) else: idnums.append(-1)
时间: 2024-02-14 18:22:46 浏览: 55
python3下使用cv2.imwrite存储带有中文路径图片的方法
5星 · 资源好评率100%
这段代码是一个死循环,会不断地读取摄像头的图像并进行人脸识别。在循环中,首先使用 `cam.read()` 读取摄像头的图像,然后将其转换为灰度图像。接着,使用分类器 `face_cascade` 进行人脸识别,找到识别出的人脸后,使用识别器 `recognizer` 进行人脸校验,并将校验结果存储在 `idnums` 列表中。最后,将识别结果显示在图像上。
由于循环条件为 `True`,因此这段代码会一直不停地循环执行,直到程序被手动中断或出现错误。如果程序中没有适当的终止条件,就会导致死循环。
阅读全文