# ros_toolkit **Repository Path**: zhang_zhi_he/rosbag_extraction_toolkit ## Basic Information - **Project Name**: ros_toolkit - **Description**: 一些处理rosbag的小脚本以及ros演示程序 - **Primary Language**: Python - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-04-25 - **Last Updated**: 2025-06-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # rosbag_extraction_toolkit ## 介绍 在制作数据集的过程中,偶然发现用rospy去处理rosbag要比rosc++方便的多,这里将制作数据集过程中用到的脚本文件做一个备份,代码本身不难,希望各位大佬口下留情 ### pointcloud2image 参考csdn上的一个投影代码改写的小脚本,用于检验激光雷达和相机之间外参结果,将initial_params.txt里面的内容换为标定的外参,三组输入分别为相机外参(没用)/相机内参/相机和激光雷达的外参。运行后使用rviz可以查看点云投影到图像上的结果。 _这一步其实可以直接使用autoware内部的投影工具来实现_ ### project 用于将gps坐标投影为局部的2d坐标,用于制作数据集的轨迹真值。 ### rospkg python处理rosbag的一些脚本。 1. bag2gps是从rosbag中提取gps信息并单独保存,为了方便验证轨迹的准确性,这里直接使用了百度地图的格式,可以直接将输出复制到html文件中,在联网的情况下就可以看到轨迹信息。 2. bag2image是从rosbag中提取所有的图片信息,并单独存储在不同的路径下。 3. renametopic是用于相机启动顺序错误时数据的矫正,从rosbag中提取消息并将错误的topic名称重命名,最后将所有的rostopic信息进行保存。 4. bag2csv是从rosbag中提取定位信息,同时将IMU信息中的角度信息进行转换为四元数的形式。 5. bin2ros是将文件夹内的bin格式点云转换为ros格式的点云并向指定的topic下面进行发送。 6. image2ros与bin2ros类似,只不过转换的是指定文件夹下的所有图片 7. pointcloudoverlay是点云叠加的脚本,用于将5帧点云叠加为1帧,通过这种方式可以直接将固态激光雷达输出的稀疏点云叠加为一般机械式激光雷达的点云,方便直接使用autoware的标定程序进行外参计算,过程可参考[autoware标定相机与激光雷达外参](https://blog.csdn.net/weixin_43849505/article/details/138166552?spm=1001.2014.3001.5501) 8. featureExtraction.cpp为ros演示程序,通过ros打开免驱的usb相机,该节点读取相机的实时输出并使用opencv提取orb特征与lsd特征,提取结果重新发送到指定topic下。 **由于opencv内部版权问题,4.X版本无法使用lsd线段提取,在3.X版本下可以使用。**