我想获得的信息(坐标),这是一个numpy的阵列中,我有困难的时候,从中提取信息。

该numpy的阵列是由一个OpenCV的方法,cv2.calcOpticalFlowPyrLK,其中产生的每个点的坐标在一个numpy的阵列返回。

这是一个单点的输出:

[[[ 292.61154175  264.74569702]]]

代码的小样本:
p1, st, err = cv2.calcOpticalFlowPyrLK(old_gray, frame_gray, p0, None, **lk_params)

good_new = p1[st==1]
good_old = p0[st==1]

如何从那种numpy数组中分别提取这些数字?

最佳答案

import numpy

# create such a nested array
d = numpy.array([[[1, 2]]])

# test that we can access individual elements
assert d[0, 0, 0] == 1
assert d[0, 0, 1] == 2

更新:

请注意,以上索引仅适用于numpy数组。标准python嵌套列表(如e = [[[1, 2]]])必须以标准Python方式索引:e[0][0][0]

关于python - 从OpenCV返回的某个numpy数组中获取元素?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30552858/

10-11 22:53
查看更多