元组索引超出范围/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]
出现以下问题: 我正在尝试检测面孔并调用具有特定索引值的函数
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]