元组索引超出范围/int 对象不可迭代

tuple index out of range / int object is not iterable

出现以下问题: 我正在尝试检测面孔并调用具有特定索引值的函数

 faces = face_cascade.detectMultiScale(gray, 1.3, 5)
            facesCopy = faces
            print("faces at 0")
            print(faces)
            if(len(faces) >= 1):
            for (i) in range(len(faces)):
                  #call function with values of faces at specific index(i)
                  detectFace(self, faces[i])

面对returns这个:[[247 101 237 237]] facesCopy一样,但是faces[i] returns [247 101 237 237]

如何获取内部数组? faces[0] returns 三元组超出范围 或 for 循环 int 对象中 faces[0][0] 或 [0][0][0][0] returns 的任何变体不可迭代:

for (x,y,w,h) in faces[0]:#do stuff

我错过了什么或看不见什么? 我猜它与打包数组有关? 这些值是面部的 x 和 y 位置以及宽度和高度。 感谢您的任何帮助或建议

detectMultiScale returns 矩形列表。

[[247 101 237 237]] 将是一个单独的,就像在一个数组中有一个 rectangle/array.

for face in faces:
    print(face)

输出:

[247, 101, 237, 237]

如果你想把数组解包成变量:

x, y, w, h = face

我不确定 detectFace 需要考虑哪些参数。

如果你只想要第一个矩形,只需通过索引访问它:

faces[0]