PCL只获取点云中一个点的法向量之computePointNormal_pcl pointnormal_Hi_BelingBeling的博客-CSDN博客
//构造该点对应的法向量
pointNormal->push_back(pcl::PointNormal(searchPoint._PointXYZ::x, searchPoint._PointXYZ::y, searchPoint._PointXYZ::z,planeParams[0], planeParams[1], planeParams[2],curvature));
//将获取到的单个点的法向量添加到图中
viewer->addPointCloudNormals<pcl::PointNormal>(pointNormal);
但是会出错,我的环境是1.8.1跑起来失败了,原因是pcl::PointNormal()构造函数,pcl1.8.1不支持这种写法,pcl1.12的可以。
修改成pcl::_PointNormal可以解决问题
//或者是
pcl::PointNormal pointNormal;
pointNormal.x = 1;
pointNormal.y = 1;
pointNormal.z = 1;
pointNormal.normal_x = 1;
pointNormal.normal_x = 1;
pointNormal.normal_x = 1;
pcl::_PointNormal a;
a.x = searchPoint.x;
a.y = searchPoint.y;
a.z = searchPoint.z;
a.normal_x = planeParams[0];
a.normal_y = planeParams[1];
a.normal_z = planeParams[2];
a.curvature = curvature;
pointNormal->push_back(pcl::PointNormal(a));