MCPcopy Create free account
hub / github.com/PeterFWS/Structure-PLP-SLAM / create_initializer

Method create_initializer

src/PLPSLAM/module/initializer.cc:147–184  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

145 }
146
147 void initializer::create_initializer(data::frame &curr_frm)
148 {
149 // set the initial frame
150 init_frm_ = data::frame(curr_frm);
151
152 // initialize the previously matched coordinates
153 prev_matched_coords_.resize(init_frm_.undist_keypts_.size()); // std::vector<cv::Point2f>
154 for (unsigned int i = 0; i < init_frm_.undist_keypts_.size(); ++i)
155 {
156 prev_matched_coords_.at(i) = init_frm_.undist_keypts_.at(i).pt;
157 }
158
159 // initialize matchings (init_idx -> curr_idx)
160 std::fill(init_matches_.begin(), init_matches_.end(), -1);
161
162 // build a initializer
163 initializer_base_.reset(nullptr); // std::unique_ptr<initialize::base>
164 switch (init_frm_.camera_->model_type_)
165 {
166 case camera::model_type_t::Perspective:
167 case camera::model_type_t::Fisheye:
168 {
169 initializer_base_ = std::unique_ptr<initialize::perspective>(new initialize::perspective(init_frm_,
170 num_ransac_iters_, min_num_triangulated_,
171 parallax_deg_thr_, reproj_err_thr_));
172 break;
173 }
174 case camera::model_type_t::Equirectangular:
175 {
176 initializer_base_ = std::unique_ptr<initialize::bearing_vector>(new initialize::bearing_vector(init_frm_,
177 num_ransac_iters_, min_num_triangulated_,
178 parallax_deg_thr_, reproj_err_thr_));
179 break;
180 }
181 }
182
183 state_ = initializer_state_t::Initializing;
184 }
185
186 bool initializer::try_initialize_for_monocular(data::frame &curr_frm)
187 {

Callers

nothing calls this directly

Calls 7

fillClass · 0.85
resizeMethod · 0.80
frameClass · 0.70
sizeMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
resetMethod · 0.45

Tested by

no test coverage detected