合并sift描述符矩阵,numpyarray

2024-04-26 11:35:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样一个筛选描述符矩阵:

 a=[[ 0.          0.          0.         ...,  0.01570028  0.11186453
   0.03728818]
 [ 0.19031648  0.18246838  0.0156962  ...,  0.06474684  0.          0.        ]
 [ 0.          0.          0.00392734 ...,  0.06480112  0.17083933
   0.04909176]
 ..., 
 [ 0.09828723  0.0176917   0.00196574 ...,  0.16905404  0.          0.        ]
 [ 0.23960059  0.18657423  0.00589182 ...,  0.00392788  0.          0.01963939]
 [ 0.00392924  0.09430183  0.15913433 ...,  0.00392924  0.01768159
   0.00589386]]
[[ 0.          0.          0.         ...,  0.01570028  0.11186453
   0.03728818]
 [ 0.19031648  0.18246838  0.0156962  ...,  0.06474684  0.          0.        ]
 [ 0.          0.          0.00392734 ...,  0.06480112  0.17083933
   0.04909176]
 ..., 
 [ 0.09828723  0.0176917   0.00196574 ...,  0.16905404  0.          0.        ]
 [ 0.23960059  0.18657423  0.00589182 ...,  0.00392788  0.          0.01963939]
 [ 0.00392924  0.09430183  0.15913433 ...,  0.00392924  0.01768159
   0.00589386]]

我想用最快的方式把它们合并起来…怎么做?列出所有数组,然后使用.dstack?谢谢

编辑:好的。数据堆栈不起作用,因为矩阵的维数不同。。。在

例如a=[[128 values]...[128 values]]len(a)=300和{}len(b)=1000的结果应该是c=[[128 values]...[128 values]] len(c)=1300


Tags: 数据编辑len堆栈方式矩阵数组描述符
1条回答
网友
1楼 · 发布于 2024-04-26 11:35:46

二维数组的Numpy约定:第一个数是行数,第二个数是列数。在

>>> import numpy as np
>>> a=np.zeros((2,5))
>>> a
array([[ 0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.]])
>>> a.shape
(2, 5)

使用vstack按行堆叠。在

^{pr2}$

Dstack实际上是一个深度堆栈:

>>> np.dstack((a,a)).shape
(300, 128, 2)

如果有阵列列表:

a=[array1,array2,...,arrayn]
c=np.vstack(a)

相关问题 更多 >