速腾聚创RS
目录
- 一、速腾原格式
- 1.1点云.bag转.pcd
- 1.2查看pcd文件内容及数据格式
- 1.2.1 pcl_viewer查看
- 1.2.2 VS Code查看
- 二、velodyne格式转pcd
- 2.1 现有velodyne点云转换pcd
- 2.2查看pcd文件内容及数据格式
- 2.2.1 pcl_viewer查看
- 2.2.2 VS Code查看
- 三、速腾点云转velodyne后转pcd
- 2.1 点云转换并制作bag
- 2.2 pcl_viewer查看
- 2.3 cloudcompare查看
- 2.4 PCL读强度信息
Windows 10(64bits) + VMware 16 Pro + Ubuntu 20.04 + noetic
一、速腾原格式
1.1点云.bag转.pcd
对自己用速腾激光雷达采集的点云数据转换成pcd文件,转换过程中终端显示如图所示,显示了点个数,文件名,以及包含的xyz,intensity,ring,timestamp。
//先查看bag里点云topic名称
rosbag info *.bag//最好新建一个文件夹,存放数量较大的pcd文件
//rosrun pcl_ros bag_to_pcd <file_in.bag> <topic> <output_directory> [<target_frame>]
rosrun pcl_ros bag_to_pcd *.bag /rslidar_points pcd
1.2查看pcd文件内容及数据格式
1.2.1 pcl_viewer查看
使用pcl_viewer工具查看其中一个点云,注意终端里数据格式,注意短下划线。
pcl_viewer 1.pcd
1.2.2 VS Code查看
pcd是二进制文件,vscode会有如下提示,点击“仍然打开”,可以看到和书上介绍的一样的pcd文件格式了,DATA binary下一行开始是具体数据,显示为乱码。
二、velodyne格式转pcd
既然速腾激光雷达和velodyne激光雷达的点云数据格式定义不同,那么具体体现在哪呢?
2.1 现有velodyne点云转换pcd
对一直用的nsh_indoor_outdoor数据集进行转换,数据量也比较小。转换所得pcd文件名为时间戳。
rosrun pcl_ros bag_to_pcd nsh_indoor_outdoor.bag /velodyne_points pcd
2.2查看pcd文件内容及数据格式
2.2.1 pcl_viewer查看
使用pcl_viewer工具查看其中一个点云,注意终端里数据格式,注意短下划线。显然,只有xyz,intensity和ring,会发现第二个下划线的位置不一样!
pcl_viewer 1422133388.503344128.pcd
2.2.2 VS Code查看
也不一样,SIZE和TYPE行对应的数据类型也不一样!
三、速腾点云转velodyne后转pcd
那我再来看一下速腾点云经过rs_to_velodyne包转换格式后的pcd文件会如何?
2.1 点云转换并制作bag
rosbag info *.bag
rosbag play *.bag --pause
rostopic list
rosrun rs_to_velodyne rs_to_velodyne XYZIRT XYZIRT
rosbag record /velodyne_points -o out.bag
2.2 pcl_viewer查看
可以发现下划线位置不一样,这个更对劲。
2.3 cloudcompare查看
可以根据intensity、ring、time的渲染去查看点云,比较好,数据格式正确。
2.4 PCL读强度信息
格式不正确的话,第四列都是0.
std::cout<<" "<<cloud->points[i].x
<<" "<<cloud->points[i].y
<<" "<<cloud->points[i].z
<<" "<<cloud->points[i].intensity
<<std::endl;
速腾聚创RS
目录
- 一、速腾原格式
- 1.1点云.bag转.pcd
- 1.2查看pcd文件内容及数据格式
- 1.2.1 pcl_viewer查看
- 1.2.2 VS Code查看
- 二、velodyne格式转pcd
- 2.1 现有velodyne点云转换pcd
- 2.2查看pcd文件内容及数据格式
- 2.2.1 pcl_viewer查看
- 2.2.2 VS Code查看
- 三、速腾点云转velodyne后转pcd
- 2.1 点云转换并制作bag
- 2.2 pcl_viewer查看
- 2.3 cloudcompare查看
- 2.4 PCL读强度信息
Windows 10(64bits) + VMware 16 Pro + Ubuntu 20.04 + noetic
一、速腾原格式
1.1点云.bag转.pcd
对自己用速腾激光雷达采集的点云数据转换成pcd文件,转换过程中终端显示如图所示,显示了点个数,文件名,以及包含的xyz,intensity,ring,timestamp。
//先查看bag里点云topic名称
rosbag info *.bag//最好新建一个文件夹,存放数量较大的pcd文件
//rosrun pcl_ros bag_to_pcd <file_in.bag> <topic> <output_directory> [<target_frame>]
rosrun pcl_ros bag_to_pcd *.bag /rslidar_points pcd
1.2查看pcd文件内容及数据格式
1.2.1 pcl_viewer查看
使用pcl_viewer工具查看其中一个点云,注意终端里数据格式,注意短下划线。
pcl_viewer 1.pcd
1.2.2 VS Code查看
pcd是二进制文件,vscode会有如下提示,点击“仍然打开”,可以看到和书上介绍的一样的pcd文件格式了,DATA binary下一行开始是具体数据,显示为乱码。
二、velodyne格式转pcd
既然速腾激光雷达和velodyne激光雷达的点云数据格式定义不同,那么具体体现在哪呢?
2.1 现有velodyne点云转换pcd
对一直用的nsh_indoor_outdoor数据集进行转换,数据量也比较小。转换所得pcd文件名为时间戳。
rosrun pcl_ros bag_to_pcd nsh_indoor_outdoor.bag /velodyne_points pcd
2.2查看pcd文件内容及数据格式
2.2.1 pcl_viewer查看
使用pcl_viewer工具查看其中一个点云,注意终端里数据格式,注意短下划线。显然,只有xyz,intensity和ring,会发现第二个下划线的位置不一样!
pcl_viewer 1422133388.503344128.pcd
2.2.2 VS Code查看
也不一样,SIZE和TYPE行对应的数据类型也不一样!
三、速腾点云转velodyne后转pcd
那我再来看一下速腾点云经过rs_to_velodyne包转换格式后的pcd文件会如何?
2.1 点云转换并制作bag
rosbag info *.bag
rosbag play *.bag --pause
rostopic list
rosrun rs_to_velodyne rs_to_velodyne XYZIRT XYZIRT
rosbag record /velodyne_points -o out.bag
2.2 pcl_viewer查看
可以发现下划线位置不一样,这个更对劲。
2.3 cloudcompare查看
可以根据intensity、ring、time的渲染去查看点云,比较好,数据格式正确。
2.4 PCL读强度信息
格式不正确的话,第四列都是0.
std::cout<<" "<<cloud->points[i].x
<<" "<<cloud->points[i].y
<<" "<<cloud->points[i].z
<<" "<<cloud->points[i].intensity
<<std::endl;