在做滤波时,当滤波完后保存点云到过滤的结果里
pcl::IndicesPtr YY(new std::vector<int>);
pcl::不同的滤波<pcl::PointXYZ>XX;//设置滤波对象
XX.filter(*YY);//保存过滤结果在YY这个indices里
//然后想使用pcdwriter来将保存的indices输出
pcl::PCDWriter writer;
writer.write<pcl::pointxyz>("zz.pcd",*YY,false);
//报错找不到重载函数
实际上犯的错是YY这里声明是indices不是点,故wirter不能输出
//改为
pcl::PointCloud<pcl::PointXYZ>::Ptr YY(new pcl::PointCloud<pcl::PointXYZ>);
//创建滤波器对象时就将YY创建为点
pcl::不同的滤波<pcl::PointXYZ>XX;//设置滤波对象
XX.filter(*YY);
pcl::PCDWriter writer;
writer.write<pcl::pointxyz>("zz.pcd",*YY,false);
这样就可以了。