PCL: Как извлечь метку кластера из кластера k-средних в PCL 1.8.1? - PullRequest
0 голосов
/ 03 мая 2019

Я хотел бы использовать алгоритм кластеризации k-средних для извлечения меток для моих баллов в PCL 1.8.1.Согласно документам , существует защищенный атрибут 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 голосов
/ 06 мая 2019

Для интересующихся - это довольно просто. Если PCL предоставит центроиды, у вас уже есть ответ. Просто вычислите для каждой точки расстояние до всех центроидов и пометьте их в соответствии с ближайшим центроидом. Вот как работает KMeans .

...