Bootstrap

PCL 格网最低点滤波

一、概述

  PCL中格网最低点采样的简单使用案例。

二、代码

GridMinimum.cpp

#include <iostream>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
#include <pcl/filters/grid_minimum.h>// 最低点滤波

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;
}

三、结果

在这里插入图片描述

;