29 PCL配准问题调参
Posted ghjnwk
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了29 PCL配准问题调参相关的知识,希望对你有一定的参考价值。
0 引言
最近项目中用到了基于PCL开发的基于平面的点云和CAD模型的配准算法,涉及到19个参数,分列如下。
1 参数及其意义介绍
(1)点云下采样
1. 参数:leafsize
2. 意义:Voxel Grid的leafsize参数,物理意义是下采样网格的大小,直接影响处理后点云密集程度,并对后期各种算法的处理速度产生直接影响。
3. 值越大,点云密度越低,处理速度越快;值越小,点云密度越高,处理速度越慢。通常保持这个值,使得其他的与点数有关的参数可以比较稳定而不作大的改动。
4. 对应的代码:
PointCloudPtr cloud(new pointCloud); ParameterReader pd(ParameterFilePath); double leafsize = stod(pd.getData("leafsize")); pcl::VoxelGrid<PointT> sor; sor.setInputCloud(CRTP::cloud_org); sor.setLeafSize(leafsize, leafsize, leafsize); sor.filter(*cloud);
(2)点云法线估计
1. 参数:Ksearch
2. 意义:估计法线时邻域内点的个数
3. 值越小,对点云的轮廓描述越精细;值越大,对点云的轮廓描述越粗糙。
4. 对应的代码:
ParameterReader pd(ParameterFilePath); pcl::NormalEstimation<PointT, pcl::Normal> ne; pcl::PointCloud<pcl::Normal>::Ptr mynormals(new pcl::PointCloud<pcl::Normal>); pcl::search::KdTree<PointT>::Ptr tree(new pcl::search::KdTree<PointT>); tree->setInputCloud(cloud_filter); ne.setInputCloud(cloud_filter); ne.setSearchMethod(tree); ne.setKSearch(stoi(pd.getData("Ksearch"))); ne.compute(*mynormals);
以上是关于29 PCL配准问题调参的主要内容,如果未能解决你的问题,请参考以下文章