如何从 pcl::Indices 的点云中提取点

问题描述 投票:0回答:1

这段代码正在选择我想要保留的点。

Eigen::Vector3f rodrigues(0,0,0);
Eigen::Vector3f boxCenter(0.5, 0.5, 0.5);
Eigen::Vector3f box_size(0.9, 0.9 , 0.9);
            
pcl::BoxClipper3D<pcl::PointXYZRGB> boxClipper(rodrigues, boxCenter, box_size);
boxClipper.clipPointCloud3D (*this->cloud, windowPoints);

然后我尝试使用

pcl::ExtractIndices<pcl::PointXYZRGB>

pcl::ExtractIndices<pcl::PointXYZRGB> extract;
extract.setInputCloud (this->cloud);
extract.setIndices (XXX);
extract.filter (*inliers);

我无法编译代码,因为方法

setIndices ()
将作为参数
pcl::IndicesPtr

3 个选项:

  • pcl::Indices
    转换为
    pcl::IndicesPtr
  • 自己编写一个类似的函数
  • 使用其他我不知道的功能
c++ pointers 3d point-cloud-library point-clouds
1个回答
0
投票

这样做的技巧: pcl::IndicesPtr idxPtr = boost::make_sharedpcl::Indices(obj);

© www.soinside.com 2019 - 2024. All rights reserved.