NameError:name' x1'在OpenCV Python中没有定义

时间:2017-05-23 23:42:26

标签: python opencv

用于检测对象的我的OpenCV(Python)代码:

import ...
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
cap1 = cv2.VideoCapture(1)

while True:
    ret1, img1 = cap1.read()

    gray = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY)

    faces = face_cascade.detectMultiScale(gray, 1.3, 5)
    for (x1, y1, w1, h1) in faces:
            if x1 >0:
            detect_face1 = x1
            print 'face distance Camera 1: ', detect_face1
        else:
            pass

调试器显示facestype tuple: (),可能显示为if x1 >0: NameError: name 'x1' is not defined。因为如果在相机中检测到面部,则faces是具有x1值>的阵列。 0.我知道这可能是非常简单的修复,但任何帮助都表示赞赏。

1 个答案:

答案 0 :(得分:-1)

元组faces为空,结果为NameError

if faces==0:
    pass
else:
    detect_face=x1

解决了这个问题。