最近在使用PCL做Velodyne的点云数据分析,在分析的过程中,最开始的就是遇到了PCL的点云数据的各种转换,里面的数据确实有点乱,现总结如下:
ROS转PCL数据格式
- sensor_msgs::PointCloud2转pcl::PCLPointCloud2 [2]
pcl_conversions::toPCL(sensor_msgs::PointCloud2, pcl::PCLPointCloud2)
- sensor_msgs::PointCloud2转pcl::PointCloud<pcl::PointXYZ> [1]
pcl::fromROSMsg (sensor_msgs::PointCloud2, pcl::PointCloud<pcl::PointXYZ>);
PCL转ROS数据
- pcl::PCLPointCloud2转sensor_msgs::PointCloud2[2]
pcl_conversions::fromPCL(pcl::PCLPointCloud2, sensor_msgs::PointCloud2);
- pcl::PointCloud<pcl::PointXYZ>转sensor_msgs::PointCloud2[1]
pcl::toROSMsg (pcl::PointCloud<pcl::PointXYZ>,sensor_msgs::PointCloud2);
PCL中数据互转 [3]
- pcl::PCLPointCloud2转pcl::PointCloud <pcl::PointXYZ>
pcl::fromPCLPointCloud2(pcl::PCLPointCloud2,pcl::PointCloud<pcl::PointXYZ>);
- pcl::PointCloud<pcl::PointXYZ>转pcl::PCLPointCloud2
pcl::toPCLPointCloud2(pcl::PointCloud<pcl::PointXYZ>, pcl::PCLPointCloud2);
Reference:
[1] http://wiki.ros.org/pcl/Overview
[2] http://wiki.ros.org/pcl/Tutorials
[3] http://docs.pointclouds.org/1.7.0/structpcl_1_1_p_c_l_point_cloud2.html