点云法向量计算方式不同,结果相差比较大

试了PCL中点云的法向量计算:

// 待计算的点云
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_xyz(new pcl::PointCloud<pcl::PointXYZ>)
int cld_sz = cloud_xyz->points.size();
pcl::search::Search<pcl::PointXYZ>::Ptr kdtree(new pcl::search::KdTree<pcl::PointXYZ>());
int search_k = 10;
// 整体一起算
pcl::NormalEstimation<pcl::PointXYZ, pcl::Normal> ne;
ne.setInputCloud(cloud_xyz);
ne.setSearchMethod(kdtree);
ne.setKSearch(search_k);
ne.setViewPoint(std::numeric_limits<float>::max(), std::numeric_limits<float>::max(), std::numeric_limits<float>::max());
pcl::PointCloud<pcl::Normal>::Ptr normals_1(new pcl::PointCloud<pcl::Normal>);
ne.compute(*normals_1);
// 单个计算: 用pcl的函数,逐点计算;自己组建协方差矩阵,用Eigen求解计算。
kdtree->setInputCloud(cloud_xyz);
pcl::NormalEstimation<pcl::PointXYZ, pcl::Normal> ne1;
std::vector< std::vector< int > > idx_all(cld_sz);
std::vector< std::vector< float > > dis_all(cld_sz);
std::vecto
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值