KITTI数据集中cam0相机坐标系到IMU坐标系的变换

本文介绍了如何通过给定IMU到激光雷达和激光雷达到相机的3D变换矩阵,计算出相机坐标系到IMU坐标的变换矩阵,使用了numpy库进行矩阵运算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里以2011_09_26序列为例

# coding=UTF-8  
# 功能: 求cam0相机坐标系(3D)到IMU坐标系(3D)的变换Tbc 

# 输入: 
#     T_velo_imu:  IMU到激光雷达的变换矩阵
#     T_cam_velo: 激光雷达到cam0的变换矩阵

# 输出:
#     T_imu_cam0: cam0相机坐标系(3D)到IMU坐标系(3D)的变换
#     T_cam0_imu =  T_cam_velo * T_velo_imu

# flies :   2011_09_26/calib_velo_to_cam.txt
#               2011_09_26/calib_imu_to_velo.txt

#           T_cam_velo: 4x4
#                       R: 7.533745e-03 -9.999714e-01 -6.166020e-04 1.480249e-02 7.280733e-04 -9.998902e-01 9.998621e-01 7.523790e-03 1.480755e-02
#                       T: -4.069766e-03 -7.631618e-02 -2.717806e-01

#           T_velo_imu: 4x4
#                       R: 9.999976e-01 7.553071e-04 -2.035826e-03 -7.854027e-04 9.998898e-01 -1.482298e-02 2.024406e-03 1.482454e-02 9.998881e-01
#                       T: -8.086759e-01 3.195559e-01 -7.997231e-01

import numpy as np

def getTbc():
    # [R,t]
    T_cam_velo= np.mat(np.array([ 7.533745e-03, -9.999714e-01, -6.166020e-04,-4.069766e-03, 
                                 1.480249e-02, 7.280733e-04,-9.998902e-01,-7.631618e-02,
                                9.998621e-01, 7.523790e-03,1.480755e-02,-2.717806e-01,
                                0,0,0,1]).reshape([4,4]))
    # [R,t]   
    T_velo_imu= np.mat(np.array([9.999976e-01, 7.553071e-04, -2.035826e-03, -8.086759e-01,
                                  -7.854027e-04, 9.998898e-01, -1.482298e-02,3.195559e-01,
                                  2.024406e-03, 1.482454e-02, 9.998881e-01, -7.997231e-01,
                                  0,0,0,1]).reshape([4,4]))
    
    T_cam0_imu =  T_cam_velo * T_velo_imu
    Tbc = np.linalg.inv(T_cam0_imu)
    
    print("T_imu_cam0:", Tbc)
    
    # ('T_imu_cam0:', matrix([[ 0.00831786,  0.0127777 ,  0.99988376,  1.08330198],
    #     [-0.99986477, -0.01408374,  0.00849768, -0.3098889 ],
    #     [ 0.01419068, -0.99981911,  0.01265882,  0.72991979],
    #     [ 0.        ,  0.        ,  0.        ,  1.        ]]))

    # R: [0.00831786,  0.0127777,   0.99988376,  
        #  -0.99986477, -0.01408374,  0.00849768, 
        #   0.01419068, -0.99981911,  0.01265882]   
    # T: [1.08330198, -0.3098889, 0.72991979]
    
    pass


getTbc()

参考链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值