cpp-toolbox  0.0.1
A toolbox library for C++
Loading...
Searching...
No Matches
点云配准 / Point Cloud Registration

Typedefs

using toolbox::pcl::ransac_registration = ransac_registration_t< float >
 
using toolbox::pcl::four_pcs_registration = four_pcs_registration_t< float >
 
using toolbox::pcl::super_four_pcs_registration = super_four_pcs_registration_t< float >
 
using toolbox::pcl::registration_result = registration_result_t< float >
 
using toolbox::pcl::ransac_registration_d = ransac_registration_t< double >
 
using toolbox::pcl::four_pcs_registration_d = four_pcs_registration_t< double >
 
using toolbox::pcl::super_four_pcs_registration_d = super_four_pcs_registration_t< double >
 
using toolbox::pcl::registration_result_d = registration_result_t< double >
 

Functions

template<typename DataType >
registration_result_t< DataType > toolbox::pcl::quick_registration (const std::shared_ptr< toolbox::types::point_cloud_t< DataType > > &source, const std::shared_ptr< toolbox::types::point_cloud_t< DataType > > &target, const std::string &algorithm="super4pcs", DataType overlap=0.5f)
 配准算法选择指南 / Registration algorithm selection guide
 

Detailed Description

Typedef Documentation

◆ four_pcs_registration

◆ four_pcs_registration_d

◆ ransac_registration

◆ ransac_registration_d

◆ registration_result

◆ registration_result_d

◆ super_four_pcs_registration

◆ super_four_pcs_registration_d

Function Documentation

◆ quick_registration()

template<typename DataType >
registration_result_t< DataType > toolbox::pcl::quick_registration ( const std::shared_ptr< toolbox::types::point_cloud_t< DataType > > &  source,
const std::shared_ptr< toolbox::types::point_cloud_t< DataType > > &  target,
const std::string &  algorithm = "super4pcs",
DataType  overlap = 0.5f 
)

配准算法选择指南 / Registration algorithm selection guide

选择合适的配准算法取决于以下因素: Choosing the right registration algorithm depends on:

  1. 是否有对应关系 / Whether correspondences are available
    • 有对应关系:使用RANSAC / With correspondences: use RANSAC
    • 无对应关系:使用4PCS或Super4PCS / Without: use 4PCS or Super4PCS
  2. 点云规模 / Point cloud scale
    • 小规模(<10K点):任意算法 / Small (<10K points): any algorithm
    • 中等规模(10K-100K):RANSAC或4PCS / Medium (10K-100K): RANSAC or 4PCS
    • 大规模(>100K):Super4PCS / Large (>100K): Super4PCS
  3. 重叠率 / Overlap ratio
    • 高重叠(>70):任意算法 / High overlap (>70%): any algorithm
    • 中等重叠(30-70):4PCS或Super4PCS / Medium (30-70%): 4PCS or Super4PCS
    • 低重叠(<30):Super4PCS / Low overlap (<30%): Super4PCS
  4. 精度要求 / Accuracy requirements
    • 高精度:使用小的delta值和更多迭代 / High accuracy: use small delta and more iterations
    • 快速近似:使用大的delta值和少量迭代 / Fast approximation: use large delta and fewer iterations
  5. 计算资源 / Computational resources
    • 有限资源:使用采样和并行计算 / Limited: use sampling and parallel computation
    • 充足资源:使用完整点云和更多基 / Ample: use full clouds and more bases

快速配准便捷函数 / Quick registration convenience function

Template Parameters
DataType数据类型 / Data type
Parameters
source源点云 / Source cloud
target目标点云 / Target cloud
algorithm算法名称("ransac", "4pcs", "super4pcs") / Algorithm name
overlap重叠率估计(仅4PCS类算法) / Overlap estimate (4PCS algorithms only)
Returns
配准结果 / Registration result
auto result = quick_registration(source, target, "super4pcs", 0.5f);
if (result.converged) {
// 使用result.transformation
// Use result.transformation
}
registration_result_t< DataType > quick_registration(const std::shared_ptr< toolbox::types::point_cloud_t< DataType > > &source, const std::shared_ptr< toolbox::types::point_cloud_t< DataType > > &target, const std::string &algorithm="super4pcs", DataType overlap=0.5f)
配准算法选择指南 / Registration algorithm selection guide
Definition registration.hpp:131