PCL学习笔记(30)——法线估计normal_estimation

源码

#include 
#include 
#include 
#include 
#include 
#include 

int main ()
 {
	//加载点云
	pcl::PointCloud::Ptr cloud (new pcl::PointCloud);
	pcl::io::loadPCDFile ("table_scene_lms400.pcd", *cloud);
	//估计法线
	pcl::NormalEstimation ne;
	ne.setInputCloud (cloud);
	//创建一个空的kdtree对象,并把它传递给法线估计对象
	//基于给出的输入数据集,kdtree将被建立
	pcl::search::KdTree::Ptr tree (new pcl::search::KdTree ());
	ne.setSearchMethod (tree);
	//输出数据集
	pcl::PointCloud::Ptr cloud_normals (new pcl::PointCloud);
	//使用半径在查询点周围3厘米范围内的所有邻元素
	ne.setRadiusSearch (0.03);
	//计算特征值
	ne.compute (*cloud_normals);
	// cloud_normals->points.size ()应该与input cloud_downsampled->points.size ()有相同尺寸
	//法线可视化
	pcl::visualization::PCLVisualizer viewer("PCL Viewer");
	viewer.setBackgroundColor (0.0, 0.0, 0.0);
	viewer.addPointCloudNormals(cloud, cloud_normals);

	while (!viewer.wasStopped ())
	{
		 viewer.spinOnce ();
	}

	return 0;
}

PCL学习笔记(30)——法线估计normal_estimation_第1张图片

你可能感兴趣的:(图像处理,PiontCloud,自动驾驶,3d)