PCL中格网最低点采样的简单使用案例。
GridMinimum.cpp
#include
#include
#include
#include // 最低点滤波
using namespace std;
int main(int argc, char** argv)
{
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_filtered(new pcl::PointCloud<pcl::PointXYZ>);
auto startTime = std::chrono::steady_clock::now();
pcl::PCDReader reader;
reader.read("CSite1_orig-utm.pcd", *cloud);
float resolution = 0.1; //设置体素格的边长
pcl::GridMinimum<pcl::PointXYZ> gm(resolution);
gm.setInputCloud(cloud);
gm.filter(*cloud_filtered);
pcl::PointIndices removeIdx;
gm.getRemovedIndices(removeIdx);
pcl::io::savePCDFileBinary("Binary.pcd", *cloud_filtered);
return 0;
}