问题产生
在采集rosbag时,设置的相机帧率为20fps,而TIM561激光雷达帧率仅有15Hz,从而导致通过这种方式导出的图片多于激光雷达数据,采用上一篇的染色方式,会导致时间戳的错位。
解决方式
因为激光雷达和图片均采用时间戳+txt/png的方式进行命名,时间戳存储为小数点后6为,我的思路很简单,是让激光雷达和图片的时间戳进行做差求绝对值,设定一个阈值(我设定为0.05s),符合这个条件的再进行投影和染色。
代码
# -*- coding:utf-8 -*-
import cv2
import matplotlib.pyplot as plt
import math
import os
import numpy as np
import sys
from PIL import Image
#=========变量========#
laser_data_path = "你的激光雷达数据保存地址"
img_path = "你的图片保存地址"
rt_matrix = np.mat('-1.2010183413075470e-02 1.0256227843246418e-01 9.9465407782662085e-01 2.2413396467857991e-02;-9.9973138495993386e