PCL:如何从PCL 1.8.1中的k均值聚类中提取聚类标签?

时间:2019-05-03 17:48:48

标签: c++ k-means point-cloud-library

我想使用k-means聚类算法为PCL 1.8.1中的点提取标签。根据{{​​3}},有一个受保护的属性PointsToClusters。 关于如何访问此属性或如何提取群集的任何想法?

谢谢!

pcl::Kmeans real(static_cast<int> (cloud->points.size()), 3);
real.setClusterSize(nominalClusterNumber);
for (size_t i = 0; i < cloud->points.size(); i++)
    {
        std::vector<float> data(3);
        data[0] = cloud->points[i].x;
        data[1] = cloud->points[i].y;
        data[2] = cloud->points[i].z;
        real.addDataPoint(data);
    }
real.kMeans();

1 个答案:

答案 0 :(得分:0)

对于那些感兴趣的人-这很容易。由PCL提供的质心,您已经有了答案。只需为每个点计算到所有质心的距离,然后根据最接近的质心对其进行标记。 KMeans就是这样。