因为你已经在第二轴一个元素的三维数组:
In [26]: A = [[[1, 2]], [[3, 4]], [[5, 6]], [[7, 8]]]
In [27]: A[0]
Out[27]: [[1, 2]]
而当你想通过A[0][1]
访问第二项就提出了一个IndexError:
In [28]: A[0][1]
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-28-99c47bb3f368> in <module>()
----> 1 A[0][1]
IndexError: list index out of range
您可以使用np.squeeze()
为了减小尺寸,并将阵列转换为二维阵列:
In [21]: import numpy as np
In [22]: A = np.array([[[1, 2]], [[3, 4]], [[5, 6]], [[7, 8]]])
In [33]: A = np.squeeze(A)
In [34]: A
Out[34]:
array([[1, 2],
[3, 4],
[5, 6],
[7, 8]])
你呢!这正是我想要的。出于好奇的一个问题。为什么该功能创建了一个3D数组呢? – Adam
@Adam我认为这是'goodFeaturesToTrack'的功能,你可以在文档中找到更多的细节。 – Kasramvd
我会做的。再次感谢您的详细解答。 – Adam