1、计算法线
#include <pcl/features/normal_3d.h> 头文件
pcl::NormalEstimation<pcl::PointXYZ,pcl::Normal> nor;
pcl::PointCloud<pcl::Normal>::Ptr normals(new pcl::PointCloud<pcl::PointXYZ>);
pcl::search::KdTree<pcl::PointXYZ>::Ptr tree(new pcl::search::KdTree<pcl::PointXYZ>);
tree->setInputCloud(cloud);
nor.setInputCloud(cloud);
nor.setSearchMethod(tree);
nor.setKSearch(30); / nor.setRadiusSearch(0.03);
nor.compute(*normals);
2、将点云数据与法向信息拼接 xyz normal_x normal_y normal_z curvature
pcl::PointCloud<pcl::PointNormal>::Ptr cloud_with_normals(new pcl::PointCloud<pcl::PointNormal>);
pcl::concatenateFields(*cloud,*normals,*cloud_with_normals);
3、显示法线
viewer->addPointCloudNormals<pcl::PointXYZ,pcl::Normal> (cloud,normals);