4 #include <unordered_map>
5 #include <unordered_set>
30 bool train(
Dataset &dataset,
const std::shared_ptr<const TrainParamsBase> ¶ms,
31 const std::vector< std::shared_ptr<const Image > > &examples);
34 bool load (
const std::string &file_path);
37 bool save (
const std::string &file_path)
const;
40 std::shared_ptr<MatchResultsBase>
search(
Dataset &dataset,
const std::shared_ptr<const SearchParamsBase> ¶ms,
const std::shared_ptr<const Image > &example);
78 std::vector<TreeNode>
tree;
86 void buildTreeRecursive(uint32_t t,
const cv::Mat &descriptors, cv::TermCriteria &tc,
int attempts,
int flags,
int currLevel);
89 std::vector<float>
generateVector(
const cv::Mat &descriptors,
bool shouldWeight, int64_t
id = -1);
97 std::vector<float>
generateVector(
const cv::Mat &descriptors,
bool shouldWeight, std::unordered_set<uint32_t> & possibleMatches, int64_t
id = -1);
103 void generateVectorHelper(uint32_t nodeIndex,
const cv::Mat &descriptor, std::vector<float> & counts,
104 std::unordered_set<uint32_t> & possibleMatches, int64_t
id = -1);