cpp-toolbox  0.0.1
A toolbox library for C++
Loading...
Searching...
No Matches
brute_force_correspondence_generator.hpp
Go to the documentation of this file.
1#pragma once
2
4#include <algorithm>
5#include <limits>
6
7namespace toolbox::pcl
8{
9
37template<typename DataType, typename Signature>
40 brute_force_correspondence_generator_t<DataType, Signature>,
41 DataType, Signature>
42{
43public:
46 DataType, Signature>;
47 using typename base_type::point_cloud;
48 using typename base_type::point_cloud_ptr;
49 using typename base_type::signatures_ptr;
51
56 void enable_parallel(bool enable) { m_enable_parallel = enable; }
57
62 bool is_parallel_enabled() const { return m_enable_parallel; }
63
68 void compute_impl(std::vector<correspondence_t>& correspondences);
69
70private:
76 void find_candidates_for_descriptor_serial(std::size_t src_idx,
77 std::vector<correspondence_t>& candidates) const;
78
83 void compute_all_candidates_parallel(std::vector<correspondence_t>& all_candidates);
84
90 void perform_mutual_verification(const std::vector<correspondence_t>& forward_corrs,
91 std::vector<correspondence_t>& verified_corrs);
92
93 bool m_enable_parallel = false;
94};
95
96} // namespace toolbox::pcl
97
对应点生成器的基类(CRTP模式) / Base class for correspondence generators (CRTP pattern)
Definition base_correspondence_generator.hpp:61
std::shared_ptr< std::vector< std::size_t > > keypoint_indices_ptr
Definition base_correspondence_generator.hpp:66
std::shared_ptr< std::vector< Signature > > signatures_ptr
Definition base_correspondence_generator.hpp:65
toolbox::types::point_cloud_t< DataType > point_cloud
Definition base_correspondence_generator.hpp:63
暴力搜索对应点生成器 / Brute-force correspondence generator
Definition brute_force_correspondence_generator.hpp:42
void enable_parallel(bool enable)
启用或禁用并行计算 / Enable or disable parallel computation
Definition brute_force_correspondence_generator.hpp:56
bool is_parallel_enabled() const
获取是否启用并行计算 / Get whether parallel computation is enabled
Definition brute_force_correspondence_generator.hpp:62
void compute_impl(std::vector< correspondence_t > &correspondences)
计算对应关系的实现 / Implementation of computing correspondences
Definition brute_force_correspondence_generator_impl.hpp:12
Definition base_correspondence_generator.hpp:18