MVE - Multi-View Environment mve-devel
Loading...
Searching...
No Matches
bundler_matching.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2015, Simon Fuhrmann
3 * TU Darmstadt - Graphics, Capture and Massively Parallel Computing
4 * All rights reserved.
5 *
6 * This software may be modified and distributed under the terms
7 * of the BSD 3-Clause license. See the LICENSE.txt file for details.
8 */
9
10#ifndef SFM_BUNDLER_MATCHING_HEADER
11#define SFM_BUNDLER_MATCHING_HEADER
12
13#include <memory>
14#include <stdexcept>
15#include <vector>
16#include <string>
17#include <sstream>
18
20#include "sfm/bundler_common.h"
21#include "sfm/defines.h"
22#include "sfm/matching_base.h"
23
26
50{
51public:
53 {
55 MATCHER_CASCADE_HASHING
56 };
57
59 struct Options
60 {
64 int min_feature_matches = 24;
66 int min_matching_inliers = 12;
68 bool use_lowres_matching = false;
70 int num_lowres_features = 500;
72 int min_lowres_matches = 5;
74 int match_num_previous_frames = 0;
76 MatcherType matcher_type = MATCHER_EXHAUSTIVE;
77 };
78
79 struct Progress
80 {
81 std::size_t num_total;
82 std::size_t num_done;
83 };
84
85public:
86 Matching (Options const& options, Progress* progress = nullptr);
87
92 void init (ViewportList* viewports);
93
99 void compute (PairwiseMatching* pairwise_matching);
100
101private:
102 void two_view_matching (int view_1_id, int view_2_id,
103 CorrespondenceIndices* matches, std::stringstream& message);
104
105private:
106 Options opts;
107 Progress* progress;
108 std::unique_ptr<MatchingBase> matcher;
109 ViewportList const* viewports;
110};
111
114
115#endif /* SFM_BUNDLER_MATCHING_HEADER */
Bundler Component: Matching between views in an MVE scene.
std::vector< Viewport > ViewportList
The list of all viewports considered for bundling.
std::vector< TwoViewMatching > PairwiseMatching
The matching result between several pairs of views.
std::vector< CorrespondenceIndex > CorrespondenceIndices
A list of all matching feature pairs in two images.
#define SFM_BUNDLER_NAMESPACE_END
Definition defines.h:17
#define SFM_BUNDLER_NAMESPACE_BEGIN
Definition defines.h:16
#define SFM_NAMESPACE_END
Definition defines.h:14
#define SFM_NAMESPACE_BEGIN
Definition defines.h:13
Options for feature matching.
sfm::RansacFundamental::Options ransac_opts
Options for RANSAC computation of the fundamental matrix.