当拿到一个开源的数据集,其中包含依托于ros系统采集的多模态数据,我的目标是提取数据集中的数据,用于验证我的多模态数据融合算法。
pcap包中存储的是一个时间段的点云数据,按照帧进行存储,每帧数据包含点云的直角坐标系和极坐标系下的坐标信息,时间信息,强度信息等,可以选取某个时间点提取该时间点的点云信息,也可以提取一个时间段点云信息研究变化。通过可视化软件,比如VeloView可以查看一段时间点云的效果。
借用如下工具可以将得到的pcap数据进行处理。
使用工具:
CloudCompare 【点云处理】https://download.csdn.net/download/oqqHun123/24366799?spm=1001.2014.3001.5501
VeloView 【点云处理】VeloView-3.1.1-26022015-Windows-64bit.exe-其它文档类资源-CSDN下载veloview下载
步骤:
1、pcap转csv
打开veloView,工具栏 file -> open -> capture file 选择pcap点云数据,
保存成为csv格式:工具栏 file -> save as -> save csv。
2、csv转pcd
打开CloudCompare,工具栏 file -> open 选择csv文件,
待点云图像加载完毕后在左边DB Tree中选中当前点云数据,然后 file -> save 选择pcd格式。
如果工程项目需要可通过代码方式转换:https://blog.csdn.net/oqqHun123/article/details/120261165
3、pcd转txt
同理可参考步骤2。
打开CloudCompare,工具栏 file -> open 选择pcd文件,
待点云图像加载完毕后在左边DB Tree中选中当前点云数据,然后 file -> save 选择txt格式。
————————————————
版权声明:本文为CSDN博主「RanMaxLi」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/oqqHun123/article/details/121093394
附1:VLP激光雷达Veloview使用教程 参考使用教程
Veloview软件使用
1、双击打开软件,点击左上角 File→Open→Sensor Stream
这一步骤主要是连接雷达,与雷达建立通信
2、在弹出的界面,选择所对应的激光雷达按型号,点击OK ,这里选择16线激光雷达。
3、雷达扫描区域
这个时候在就会显示雷达的点云图像,注意不要近距离遮挡雷达(放在封闭抽屉里)都不会产生图像,好像是距离大于20cm.点击右上方的三维坐标轴,在点云图像左下方即出现坐标信息,滚动鼠标可以看到三维各个角度的图像
如果想录制某一段点云数据,点击上方红色按钮,选择保存位置,再次点击按钮,提示已经录制成功,文件格式为.pcap
4、打开录制的pcap文件
依次选择 File→Open→Capture Files 选择保存文件的位置,在弹出的页面中依然选择所属雷达型号。
工具栏可以控制播放速度,可以看到一共录制23帧点云数据。
Veloview软件好用的原因就是可以直接将点云数据保存为CSV格式,非常方便,包括三维位置和属性数据,X、Y、Z数据值和时间戳。
5、点云数据信息查看
点击左上角 Tools→Spreadsheet
弹出的界面按照帧来划分,每一帧有不同数量的数据,点击时间戳上方的小黄格子,
选择显示的具体信息,如 XYZ坐标信息等 。
若想导出这些数据,点击File→Save as 即可,这里会提示你保留数据类型,可以使全部帧数据,也可以是具体到每一帧的数据。
保存数据打开之后如下显示
最后三列为XYZ坐标信息,当然你也可以选择你想要的信息导出数据。
保存为pcap文件之后,可以通过程序转换为PCD文件,在pcl库下进行处理点云
————————————————
版权声明:本文为CSDN博主「凌晨一点二十」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_61777635/article/details/120443592
附2:LiDAR-Velodyne激光雷达pcap文件解析
pcap文件解析程序代码
附3:bag包是什么以及如何查看和使用
在ROS系统中,可以使用 bag 文件来保存和恢复系统的运行状态,比如录制雷达和相机话题的 bag 包,然后回放用来进行联合外参标定。
参考连接 rosbag详细使用教程
rosbag 工具可以录制一个包、从一个或多个包中重新发布消息、查看一个包的基本信息、检查一个包的消息定义,基于 Python 表达式过滤一个包的消息,压缩和解压缩一个包以及重建一个包的索引。
rosbag 目前常用的命令如下(fix 和 filter 暂时没有用到):
record:用指定的话题录制一个 bag 包
info:显示一个 bag 包的基本信息,比如包含哪些话题
play:回放一个或者多个 bag 包
check:检查一个 bag 包在当前的系统中是否可以回放和迁移
compress:压缩一个或多个 bag 包
decompress:解压缩一个或多个 bag 包
reindex:重新索引一个或多个损坏 bag 包
用的最多的一般就是 record、info 以及 play 功能,先录制想要的话题包,录制完毕检查下包的信息,最后再回放作为算法的输入,下面就详细学习下上面命令的用法。
参考链接 bag包提取数据 ,从bag文件中提取信息,bag文件录制和回放数据
一.查看bag包信息
rosbag info yourname.bag
可以看到如下图bag包信息:
点云数据有2257帧,点云话题为/rfans_driver/rfans_points
二.提取点云数据
命令是在bag包所在路径下执行的,命令格式为:
rosrun pcl_ros bag_to_pcd bag包 点云话题 保存pcd的路径
命令如下:
rosrun pcl_ros bag_to_pcd yourname.bag /rfans_driver/rfans_points /home/hyper/Downloads/pcd
执行完会在pcd文件夹下得到2257帧pcd点云数据
三.点云可视化
提取的点云如果想看一下的话,可通过以下命令:
pcl_viewer yourname.pcd
————————————————
版权声明:本文为CSDN博主「HyperZhu」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_38337524/article/details/109144072