>>> image = np.arange(20).reshape((4, 5))
>>> image
array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14],
[15, 16, 17, 18, 19]])
>>> idx = [[2, 1], [2, 3], [3, 4]]
如何从image
中指定坐标的idx
数组中获取值?从上面的代码中,我想获取值11(image[2, 1]
),13(image[2, 3]
)和19(image[3, 4]
)。谢谢。
答案 0 :(得分:2)
(如果您要使用numpy,请使用numpy)
进行定义:
>>> image = np.arange(20).reshape((4, 5))
>>> idx = np.array([[2, 1], [2, 3], [3, 4]]).T
使用Numpy的华丽索引功能的解决方案:
>>> image[tuple(idx)]
array([11, 13, 19])
答案 1 :(得分:0)
您可以使用列表理解:
[image[x[0], x[1]] for x in idx]
>>> [11, 13, 19]