在使用carla过程中有获取其相机内外参和从相机外参中获取translation、rotation并完成旋转矩阵转四元数的需求,记录一下过程。
先上代码说明如何从相机外参中获取translation、rotation并完成旋转矩阵转四元数:
import numpy as np
from scipy.spatial.transform import Rotation as R
############ 4*4的相机外参矩阵 ##########
a=np.mat([[-6.81184744e-03 ,-9.99976814e-01,2.62450999e-06,1.09513466e+02],
[ 9.99976695e-01,-6.81184791e-03,-5.41681657e-04,5.17240524e+01],
[ 5.41686954e-04,-1.06540392e-06,9.99999881e-01,2.40255165e+00],
[ 0.00000000e+00,0.00000000e+00,0.00000000e+00,1.00000000e+00]])
############ 分离出translation和rotation ##########
a3=a[[0,1,2]]
a33=a3[:,[0,1,2]]
a34=[a[0,3],a[1,3],a[2,3]]
a33=list
print(a33) #rotation
print(a34) #translation
############ 旋转矩阵rotation转四元数 ##########
r = R.from_matrix(a33)
qua = r.as_qu

本文介绍了在Carla中如何从4x4相机外参矩阵中提取旋转和平移,并将旋转矩阵转换为四元数。通过numpy和scipy库实现这一过程,并解释了相机内外参在不同坐标系间的关系,涉及世界坐标系、相机坐标系、图像坐标系和像素坐标系。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



