如何在 C++ 中使用 `pcl`(点云库)从 std::vector<int> 创建 pcl::PointIndices?
How to create pcl::PointIndices from std::vector<int> with `pcl`(Point Cloud Library) in c++?
我在 C++ 中使用 pcl
,很抱歉无法创建 pcl
标签。
我正在使用 pcl
实现点云分割的管道。我想知道如何从 std::vector<int>
类型的提取索引中创建 pcl::PointIndices,这样我就可以将它输入到另一个过滤器中。
第一个过滤器可以生成 std::vector
类型的索引
// Create statistical filtering object
pcl::StatisticalOutlierRemoval<PointXYZ> sor;
CloudXYZPtr sor_filtered (new CloudXYZ);
std::vector<int> sor_inliers;
sor.setInputCloud (input);
sor.setMeanK (10);
sor.setStddevMulThresh (0.5);
sor.filter (sor_inliers);
然后,我想将这个过滤后的事件输入到另一个过滤器中,例如:
pcl::RadiusOutlierRemoval<PointXYZ> ror;
pcl::PointIndices::Ptr ror_indices (new pcl::PointIndices);
ror_indices->data = sor_inliers; // #### How to do this line?
std::vector<int> ror_inliers;
//I can set it like
ror.setInputCloud(input);
ror.setIndices(ror_indices);
如何让它发挥作用?谢谢。
这个:
ror_indices->data = sor_inliers; // #### How to do this line?
应该是:
ror_indices->indices = sor_inliers;
我在 C++ 中使用 pcl
,很抱歉无法创建 pcl
标签。
我正在使用 pcl
实现点云分割的管道。我想知道如何从 std::vector<int>
类型的提取索引中创建 pcl::PointIndices,这样我就可以将它输入到另一个过滤器中。
第一个过滤器可以生成 std::vector
类型的索引// Create statistical filtering object
pcl::StatisticalOutlierRemoval<PointXYZ> sor;
CloudXYZPtr sor_filtered (new CloudXYZ);
std::vector<int> sor_inliers;
sor.setInputCloud (input);
sor.setMeanK (10);
sor.setStddevMulThresh (0.5);
sor.filter (sor_inliers);
然后,我想将这个过滤后的事件输入到另一个过滤器中,例如:
pcl::RadiusOutlierRemoval<PointXYZ> ror;
pcl::PointIndices::Ptr ror_indices (new pcl::PointIndices);
ror_indices->data = sor_inliers; // #### How to do this line?
std::vector<int> ror_inliers;
//I can set it like
ror.setInputCloud(input);
ror.setIndices(ror_indices);
如何让它发挥作用?谢谢。
这个:
ror_indices->data = sor_inliers; // #### How to do this line?
应该是:
ror_indices->indices = sor_inliers;