Как извлечь конкретный кластер после фильтрации облака точек?

Я работаю с библиотекой облака точек и извлекаю точки первого кластера после фильтрации облака точек и сегментации с помощью извлечения евклидова кластера. Следующий код, как я думаю, может сработать для извлечения точек кластера:

std::vector<pcl::PointIndices> cluster_indices;
typename pcl::search::KdTree<PointT>::Ptr tree (new pcl::search::KdTree<PointT>);
tree->setInputCloud(out_cloud);
pcl::EuclideanClusterExtraction<PointT> ec;
ec.setClusterTolerance(2 * 0.06);
ec.setMinClusterSize(50);
ec.setMaxClusterSize(1200);
ec.setSearchMethod(tree);
ec.setInputCloud(filtered_cloud);
ec.extract(cluster_indices);
int j = cluster_indices.size();
tam_cluster = cluster_indices[0].indices.size();
int ind_tmp;

for (int n=0; n<tam_cluster; n++){
    ind_tmp=cluster_indices[0].indices[n];
    first_clust->points.push_back (filtered_cloud->points[ind_tmp]); 
}
std::cout << " ** Number of points of first cluster : " <<  first_clust->size() <<std::endl;

Итак, я не знаю почему, но иногда я получаю кластер с более чем 1200 точками. Я думаю, это может быть связано с pcl реализацией извлечения кластеров.

Это правильный код?


person Soichiru    schedule 29.02.2016    source источник
comment
Для чего нужен typename?   -  person wally    schedule 29.02.2016
comment
Извините, я забыл изменить эту строку кода, так что это просто: pcl :: search :: KdTree ‹PointT› :: Ptr tree (новый pcl :: search :: KdTree ‹PointT›); дерево- ›setInputCloud (filter_cloud);   -  person Soichiru    schedule 01.03.2016


Ответы (1)


Я также столкнулся с той же проблемой, как только вы пройдете через этот пример кода, это может быть полезно Ссылка GitHub для извлечения кластера

Попробуйте изменить значения этих параметров. SetRadiusSearch, толерантность, eps_angle, min_cluster_size и u получат общее количество кластеров, и все данные кластера будут сохранены в отдельных файлах pcd.

надеюсь, это поможет вам.

person KHV    schedule 09.11.2016
comment
Ссылка на потенциальное решение всегда приветствуется, но, пожалуйста, добавьте контекст вокруг ссылки, чтобы у ваших коллег идея, что это такое и почему это там. Всегда указывайте наиболее релевантную часть важной ссылки, если целевой сайт недоступен или постоянно отключен. Учтите, что наличие не более чем ссылки на внешний сайт - это возможная причина, по которой почему и как некоторые ответы удалены? - person Ingo Karkat; 09.11.2016