将取自多个图像的所有描述符保存在 Python 3.5
Save all the descriptors taken from multiple images in Python 3.5
我正在尝试提取我数据库中的多个图像的描述符。使用的方法为我提供了每个图像的关键点矩阵和描述符矩阵,因此我想将它们分组为一个矩阵。
我试过一个循环:
kp_all = numpy.hstack((kp_all, kp))
des_all = numpy.hstack((des_all, des))
其中 kp_all 和 des_all 被正确初始化,因为是第一个图像的描述符,所以我想将其他描述符连接到该矩阵中。给出的错误是:
ValueError: all the input array dimensions except for the concatenation
axis must match exactly
向量的维度是:
Processing image....
dimension kp_all and des_all (10, 7) (10, 32)
Processing image....
dimension kp and des (46, 7) (46, 32)
Processing image....
dimension kp and des (17, 7) (17, 32)
有人知道吗?谢谢!!!
我找到了解决方案...只需创建一个空列表:
kp_all = []
des_all = []
并附加循环中的每个描述符:
kp_all.append(kp)
des_all.append(des)
根据 OP 的评论并观察变量的维度 kp_all
、des_all
、kp
、des
dimension kp_all and des_all (10, 7) (10, 32)
dimension kp and des (46, 7) (46, 32)
dimension kp and des (17, 7) (17, 32)
我们可以使用,np.vstack
kp_all = np.vstack((kp_all, kp))
des_all = np.vstack((des_all, des))
我正在尝试提取我数据库中的多个图像的描述符。使用的方法为我提供了每个图像的关键点矩阵和描述符矩阵,因此我想将它们分组为一个矩阵。
我试过一个循环:
kp_all = numpy.hstack((kp_all, kp))
des_all = numpy.hstack((des_all, des))
其中 kp_all 和 des_all 被正确初始化,因为是第一个图像的描述符,所以我想将其他描述符连接到该矩阵中。给出的错误是:
ValueError: all the input array dimensions except for the concatenation
axis must match exactly
向量的维度是:
Processing image....
dimension kp_all and des_all (10, 7) (10, 32)
Processing image....
dimension kp and des (46, 7) (46, 32)
Processing image....
dimension kp and des (17, 7) (17, 32)
有人知道吗?谢谢!!!
我找到了解决方案...只需创建一个空列表:
kp_all = []
des_all = []
并附加循环中的每个描述符:
kp_all.append(kp)
des_all.append(des)
根据 OP 的评论并观察变量的维度 kp_all
、des_all
、kp
、des
dimension kp_all and des_all (10, 7) (10, 32)
dimension kp and des (46, 7) (46, 32)
dimension kp and des (17, 7) (17, 32)
我们可以使用,np.vstack
kp_all = np.vstack((kp_all, kp))
des_all = np.vstack((des_all, des))