在ROS中使用kinect v2根据颜色获取点云数据的质心
Get centroid of point cloud data based on color using kinect v2 in ROS
我想使用kinect v2获取基于颜色的点云数据的质心。即使搜索了很长时间,我也找不到可以完成这项任务的包。但由于这是一个普遍问题,我认为应该有一个现有的包。
请帮忙。提前致谢!
如果您使用 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);
我想使用kinect v2获取基于颜色的点云数据的质心。即使搜索了很长时间,我也找不到可以完成这项任务的包。但由于这是一个普遍问题,我认为应该有一个现有的包。
请帮忙。提前致谢!
如果您使用 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);