从 OpenCV 返回的某个 numpy 数组中获取元素?
Getting element from a certain numpy array returned from OpenCV?
我正在尝试获取 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]
.
我正在尝试获取 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]
.