标记一下自己的低级错误,最近想做给点云上色,在ROS回调函数接收处理时总会报错说Failed to find match for field 'rgb'.
最后发现问题并不在回调上色输出端,是因为雷达发出的点云并不包含RGB信息。
void PointHandle(const sensor_msgs::PointCloud2ConstPtr & laserCloud)
//由于雷达点云没有RGB出现问题。
pcl::PointCloud<pcl::PointXYZRGB> ::Ptr Cloud (new pcl::PointCloud<pcl::PointXYZRGB>);
pcl::fromROSMsg(*laserCloud,*Cloud);
修改为最初即可
void PointHandle(const sensor_msgs::PointCloud2ConstPtr & laserCloud)
pcl::PointCloud<pcl::PointXYZI> ::Ptr Cloud (new pcl::PointCloud<pcl::PointXYZI>);
pcl::fromROSMsg(*laserCloud,*Cloud);