cpp-toolbox  0.0.1
A toolbox library for C++
Loading...
Searching...
No Matches
correspondence.hpp File Reference

对应点生成算法统一导出文件 / Unified export file for correspondence generation algorithms More...

Include dependency graph for correspondence.hpp:

Go to the source code of this file.

Namespaces

namespace  toolbox
 
namespace  toolbox::pcl
 

Macros

#define LOG_INFO_S   toolbox::logger::thread_logger_t::instance().info_s()
 

Functions

template<typename DataType , typename Signature , typename KNN >
std::vector< correspondence_ttoolbox::pcl::generate_correspondences_knn (const std::shared_ptr< toolbox::types::point_cloud_t< DataType > > &src_cloud, const std::shared_ptr< std::vector< Signature > > &src_descriptors, const std::shared_ptr< std::vector< std::size_t > > &src_keypoints, const std::shared_ptr< toolbox::types::point_cloud_t< DataType > > &dst_cloud, const std::shared_ptr< std::vector< Signature > > &dst_descriptors, const std::shared_ptr< std::vector< std::size_t > > &dst_keypoints, float ratio=0.8f, bool mutual=true)
 对应关系生成策略 / Correspondence generation strategies
 
template<typename DataType , typename Signature >
std::vector< correspondence_ttoolbox::pcl::generate_correspondences_brute_force (const std::shared_ptr< toolbox::types::point_cloud_t< DataType > > &src_cloud, const std::shared_ptr< std::vector< Signature > > &src_descriptors, const std::shared_ptr< std::vector< std::size_t > > &src_keypoints, const std::shared_ptr< toolbox::types::point_cloud_t< DataType > > &dst_cloud, const std::shared_ptr< std::vector< Signature > > &dst_descriptors, const std::shared_ptr< std::vector< std::size_t > > &dst_keypoints, float ratio=0.8f, bool mutual=true, bool parallel=false)
 快速生成对应关系的便捷函数(使用暴力搜索) / Convenience function for quick correspondence generation (using brute force)
 
size_t toolbox::pcl::filter_correspondences_by_distance (std::vector< correspondence_t > &correspondences, float max_distance)
 过滤对应关系的辅助函数 / Helper function to filter correspondences
 
std::tuple< float, float, float, float > toolbox::pcl::compute_correspondence_statistics (const std::vector< correspondence_t > &correspondences)
 计算对应关系的统计信息 / Compute statistics of correspondences
 
void toolbox::pcl::print_correspondences (const std::vector< correspondence_t > &correspondences, size_t max_display=10)
 可视化对应关系的辅助信息 / Helper to visualize correspondence information
 

Detailed Description

对应点生成算法统一导出文件 / Unified export file for correspondence generation algorithms

该文件提供了点云对应关系生成的统一接口。对应关系是点云配准、物体识别等任务的基础, 通过匹配描述子来建立源点云和目标点云之间的点对应关系。 This file provides a unified interface for point cloud correspondence generation. Correspondences are fundamental for tasks like point cloud registration and object recognition, establishing point-to-point relationships between source and target clouds through descriptor matching.

using namespace toolbox::pcl;
// 准备数据 / Prepare data
auto src_cloud = load_point_cloud("source.pcd");
auto dst_cloud = load_point_cloud("target.pcd");
// 检测关键点和计算描述子 / Detect keypoints and compute descriptors
auto src_keypoints = detect_keypoints(src_cloud);
auto dst_keypoints = detect_keypoints(dst_cloud);
auto src_descriptors = compute_descriptors(src_cloud, src_keypoints);
auto dst_descriptors = compute_descriptors(dst_cloud, dst_keypoints);
// 生成对应关系 / Generate correspondences
auto correspondences = generate_correspondences(
src_cloud, src_descriptors, src_keypoints,
dst_cloud, dst_descriptors, dst_keypoints);
// 使用对应关系进行配准 / Use correspondences for registration
auto transformation = estimate_transformation(correspondences);
对应点生成算法统一导出文件 / Unified export file for correspondence generation algorithms
Definition base_correspondence_generator.hpp:18

Macro Definition Documentation

◆ LOG_INFO_S

#define LOG_INFO_S   toolbox::logger::thread_logger_t::instance().info_s()