PCL - ICP代碼研讀(四 ) - getFitnessScore函數
前言
接續PCL - ICP代碼研讀(三 ) - Registration初始化,本篇主要介紹Registration類別的getFitnessScore函數。這個函數用於計算source與target間的mse(mean squared error)。PCL中提供了兩個版本的getFitnessScore,分別適用於兩個向量或點雲。
getFitnessScore - for two vectors
傳入的兩個向量代表距離平方,這個函數用於計算它們之間的mse。
// 看不懂?
// 計算兩個向量的mse?
template <typename PointSource, typename PointTarget, typename Scalar>
inline double
Registration<PointSource, PointTarget, Scalar>::getFitnessScore(
const std::vector<float>& distances_a, const std::vector<float>& distances_b)
{
Eigen::VectorXf::Map基於現存的向量或陣列之上,建立一個Eigen::VectorXf的映射。其建構子第一個參數表示現存向量的位址,第二個參數表示欲建立row數為多少的向量。
所以這段代碼的涵意為:分別取兩向量的前nr_elem個元素為map_a及map_b。
unsigned int nr_elem =
static_

本文详细介绍了PCL库中Registration类的getFitnessScore函数,分为针对两个向量和两个点云的实现。前者用于计算mse,后者在ICP流程中评估配准后的误差。通过实例和代码片段展示如何计算距离平方的mse,并揭示了在处理点云配准时的策略。
 - getFitnessScore函數&spm=1001.2101.3001.5002&articleId=120592608&d=1&t=3&u=01154ab69236445f9cf3a935c951152c)
40万+

被折叠的 条评论
为什么被折叠?



