31 const std::vector<std::vector<std::pair<size_t, Eigen::VectorXf>>> &feats) {
34 assert(camids.size() == feats.size());
37 for (
size_t i = 0; i < camids.size(); i++) {
40 int cam_id = camids.at(i);
43 std::vector<cv::KeyPoint> good_left;
44 std::vector<size_t> good_ids_left;
49 for (
const auto &feat : feats.at(i)) {
52 size_t id = feat.first +
currid;
56 kpt.pt.x = feat.second(0);
57 kpt.pt.y = feat.second(1);
58 good_left.push_back(kpt);
59 good_ids_left.push_back(
id);
62 cv::Point2f npt_l =
camera_calib.at(cam_id)->undistort_cv(kpt.pt);
63 database->update_feature(
id, timestamp, cam_id, kpt.pt.x, kpt.pt.y, npt_l.x, npt_l.y);
73 img_last[cam_id] = cv::Mat::zeros(cv::Size(width, height), CV_8UC1);
74 img_mask_last[cam_id] = cv::Mat::zeros(cv::Size(width, height), CV_8UC1);