我想获得的信息(坐标),这是一个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/