首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pcl::NormalEstimation setSearchMethod解释

pcl::NormalEstimation setSearchMethod解释
EN

Stack Overflow用户
提问于 2019-10-15 18:39:30
回答 1查看 499关注 0票数 0
代码语言:javascript
复制
// Compute the normals
pcl::NormalEstimation<pcl::PointXYZ, pcl::Normal> normalEstimation;
pcl::search::KdTree<pcl::PointXYZ>::Ptr tree(new pcl::search::KdTree<pcl::PointXYZ>);
normalEstimation.setInputCloud(source_cloud);
normalEstimation.setSearchMethod(tree);

大家好,我是学习PCL的初学者,我在“normalEstimation.setSearchMethod(树)”上不理解;这部分是什么意思?这是否意味着我们必须选择一些方法?

有时我看到代码是这样的

代码语言:javascript
复制
// Normal estimation
pcl::NormalEstimation<pcl::PointXYZ, pcl::Normal> n;
pcl::search::KdTree<pcl::PointXYZ>::Ptr tree(new pcl::search::KdTree<pcl::PointXYZ>);
tree->setInputCloud(cloud_smoothed)*/; [this part I dont understand too]
n.setInputCloud(cloud_smoothed);
n.setSearchMethod(tree);

谢谢你们干杯

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-17 06:01:50

您可以在以下位置找到有关如何计算法线的信息:http://pointclouds.org/documentation/tutorials/normal_estimation.php

基本上,要计算一个特定点的法线,你需要“分析”它的邻域,也就是它周围的点。通常,您可以选择N个最近的点,也可以选择目标点周围某个半径内的所有点。如果点云是完全非结构化的,那么找到这些邻接点并不是一件容易的事情。KD-trees就是用来加速这个搜索的。事实上,它们是一种优化的数据结构,例如,允许非常快的最近邻搜索。你可以在这里找到更多关于KD-trees的信息,http://pointclouds.org/documentation/tutorials/kdtree_search.php

因此,行normalEstimation.setSearchMethod(tree);只设置了一个空的KD-树,它将被正常的估计算法使用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58392744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档