0
我得到以下错误:蟒ValueError异常使用hstack()(ValueError异常:所有除级联轴输入数组尺寸必须完全匹配)
Traceback (most recent call last):
File "/home/odroid/trackAndFollow/getPositions.py", line 34, in
<module>
tfVeloToCamera = np.hstack((np.vstack((rmVeloToCamera,
zero_array)),np.transpose(translationVector_veloToCamera)))
File "/usr/lib/python2.7/dist-packages/numpy/core/shape_base.py", line
280, in hstack
return _nx.concatenate(arrs, 1)
ValueError: all the input array dimensions except for the
concatenation axis must match exactly
的代码:
rotationVector_veloToCamera =
np.array([[[-1.77611954,0.30024612,0.76069987]]])
translationVector_veloToCamera = np.array([[
0.0146381,0.02553223,0.16231193]])
rmVeloToCamera,jac = cv2.Rodrigues(rotationVector_veloToCamera)
tfVeloToCamera = np.hstack((np.vstack((rmVeloToCamera,
zero_array)),np.transpose(translationVector_veloToCamera)))
我阅读某处,其原因是形状或dtype .. 在堆叠内部的2个变量的形状是(4,3)(3,1) 和都具有dtype = float64。
任何想法是什么造成这种情况?
我换位第二个和现在它们是(4,3)和(1,3)。根据你的解释,这应该工作,因为3 = 3,但我仍然得到相同的错误.. – Drak
@DARK我可以更清晰;我会考虑如何编辑。你仍然在使用'hstack',它只检查第一个轴的匹配。 'vstack'只检查第二个,'dstack'是第三个。你可以使用'vstack'或者更好的方法是使用'stack'并指定'axis = 1'作为参数。 – EFT
我试过'堆栈',它只是不会为我工作。我使用'hstack'和'vstack'工作(结果我错过了'.T')。 你可能会解释'numpy.stack'与不同的轴=选项? – Drak