本文主要是介绍基于SVD的点云配准,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前言
为了更加深入透彻的理解点云配准,所以打算从头实现一次配准的过程,从关键点提取、特征提取、对应关系确定、SVD确定变换矩阵,一步一步完成。
首先介绍一下配准过程中用到的一些函数
1. ISS3D关键点提取
具体来说,它使用ISS(Intrinsic Shape Signatures)关键点检测算法在输入的点云数据中找到关键点,并记录这些关键点的索引。
参数和变量
Cloud
:输入的点云数据。keypoints
:用于存储提取的关键点的点云数据。Tree
:KD树,用于加速最近邻搜索。Tol_indices
:保存关键点索引的容器。leaf_size
:用于计算协方差矩阵的球邻域半径。NonMaxRadius
:用于非极大值抑制的半径。
主要步骤
- 计时器启动:使用
pcl::console::TicToc
记录操作时间。 - 设置ISS算法参数:
setInputCloud
:设置输入点云。setSearchMethod
:设置KD树为搜索方法。setNumberOfThreads
:设置线程数量。setSalientRadius
:设置用于计算协方
这篇关于基于SVD的点云配准的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!