NxN 矩阵的筛选描述符列表

List of sift descriptors to an NxN matrix

我有很多来自密集筛选算法的筛选描述符。它是一个包含 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, ...]

y 目标是将描述符转换为 NxN 矩阵,这样我就可以将它们用作机器学习结构的图像特征输入。简而言之:考虑到数据点以正确的顺序拆分,我想将许多一维数组转换为二维数组。

是否可以使用 np.vstack 或其他方法?

您可以使用 stackreshape 并指定所需的轴,如下所示:

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)