2017-02-20 80 views
1

基于颜色的点云数据的心我想基于使用的Kinect v2的色点云数据的重心。即使经过很长时间的搜索,我仍然无法找到能够完成这项任务的软件包。但由于这是一个普遍问题,我认为应该有一个现有的软件包。获取使用的Kinect V2在ROS

请帮忙。提前致谢!

回答

1

如果您正在使用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); 
+0

谢谢回答。 – vacky