我有很多来自密集筛选算法的筛选描述符。它是N个SIFT描述符的数组。一个描述符看起来像这样:
[14.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 16.0, 0.0, ...]
目标是将描述符转换为NxN矩阵,这样我就可以像使用机器学习Struktur的图像特征输入一样使用它们。简而言之,我想将许多1d数组转换为2d数组,但要考虑到数据点是以正确顺序分割的。
是否可以使用np.vstack或其他方法?
答案 0 :(得分:0)
您可以使用stack
和reshape
并指定所需的轴,如下所示:
import numpy as np
arr1 = np.ones((1, 128))
arr1 = arr1.reshape((4,4,8))
arr2 = np.ones((1, 128))
arr2 = arr2.reshape((4,4,8))
print(np.stack((arr1, arr2), axis=3).shape)
# (4, 4, 8, 2)