发生以下问题: 我试图检测面部并调用具有特定索引值的函数
Array
(
[0] => Array
(
[A] => BANK
[B] => IFSC
[C] => MICR
[D] => BRANCH
[E] => ADDRESS
[F] => CONTACT
[G] => CITY
[H] => DISTRICT
[I] => STATE
)
)
面孔返回:[[247 101 237 237]] facesCopy相同,但faces [i]返回[247 101 237 237]
我如何获得内部数组? faces [0]返回truple超出范围 或者[0] [0]或[0] [0] [0] [0]的任何变化在for循环中返回int对象是不可迭代的:
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])
我错过了什么或盲目地看到了什么? 我猜它与打包数组有关吗? 值是x和y位置以及面的宽度和高度。 感谢您提供任何帮助或建议
答案 0 :(得分:0)
detectMultiScale
返回一个矩形列表。
[[247 101 237 237]]
将是单个的,就像在具有一个矩形/数组的数组中一样。
for face in faces:
print(face)
输出:
[247, 101, 237, 237]
如果要将数组解压缩为变量:
x, y, w, h = face
我不确定detectFace
需要考虑哪些参数。
如果您只想要第一个矩形,只需按索引访问它:
faces[0]