2017-02-20 5 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

Смежные вопросы