使用ROS中的kinect v2获取基于颜色的点云数据的质心

时间:2017-02-20 23:02:38

标签: kinect ros point-cloud-library robotics kinect-v2

我希望使用kinect v2获得基于颜色的点云数据的质心。即使在搜索了很长时间后,我也找不到能够完成这项任务的软件包。但由于这是一个普遍问题,我认为应该有一个现有的包。

请帮忙。提前谢谢!

1 个答案:

答案 0 :(得分:2)

如果您正在使用PCL,则可以

pcl::PointXYZRGB centroid;
pcl::computeCentroid(*cloud, centroid);

否则它只是积分的平均值。例如:

                pcl::PointXYZI centroid;

                float x = 0, y = 0, z = 0;
                for (int k = 0; k < cloud->size(); k++)
                {
                   x += cloud->at(k).x;
                   y += cloud->at(k).y;
                   z += cloud->at(k).z;
                }
                centroid.x = x / (cloud->size() + 0.0);
                centroid.y = y / (cloud->size() + 0.0);
                centroid.z = z / (cloud->size() + 0.0);