【发布时间】:2018-01-24 07:37:22
【问题描述】:
我正在使用 python 和 opencv 构建人脸识别代码。这一行给出了错误; .当我更换;使用 > 或任何其他运算符它可以工作,但它变得未知,这显示像这样的错误.... NameError: name 'lt' is not defined.
这是我在detector.py中的全部代码
import cv2
import numpy as np
faceDetect= cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
cam = cv2.VideoCapture(0);
rec= cv2.face.LBPHFaceRecognizer_create()
rec.read("recognizer\\trainingData.yml")
id=0
fontFace = cv2.FONT_HERSHEY_SIMPLEX
fontScale = 1
fontColor = (255, 255, 255)
#font = cv2.InitFont(cv2.CV_FONT_HERSHEY_SIMPLEX, 1, 1, 0, 1, 1)
while True:
ret, img =cam.read()
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
faces=faceDetect.detectMultiScale(gray, 1.3,5)
for(x,y,w,h) in faces:
cv2.rectangle(img,(x,y),(x+w,y+h),(0,0,255),2)
#print(rec.predict(gray[y:y+h,x:x+w]))
id, conf = rec.predict(gray[y:y+h,x:x+w])
if(conf< >= 50):
if(id==1):
id="Osama"
elif(id==2):
id="Psycho"
else:
id = conf
cv2.putText(img,str(id), (x,y+h), fontFace, fontScale, fontColor)
cv2.imshow('Face',img)
if cv2.waitKey(1) ==ord('q'):
break
cam.release()
cv2.destroyAllWindows()
【问题讨论】:
-
显示您的代码。提供更多信息。详细错误日志。毕竟我们是开发者而不是上帝
-
请向我们展示更多代码,以便我们为您提供帮助。
-
我更新了帖子
-
在这行之前
if(conf&lt >= 50):变量lt从未被提及....所以它没有像错误所说的那样定义,也许是一个错字? -
有趣的是,您的标题中有
if(conf&lt;50),显示的代码中有if(conf&lt >= 50)......也许它真的是if(conf&lt;50),然后&lt;应该被@987654328替换@ 这就是&lt;的代码(因为lt代表低于)。
标签: opencv python-3.6