| 172 | } |
| 173 | |
| 174 | std::vector<int> |
| 175 | findCorrespondingFrames(const std::vector<double> &key_frame_times_vec, |
| 176 | const std::vector<double> &reference_time_vec) { |
| 177 | std::vector<int> corresponding_frames; |
| 178 | |
| 179 | size_t i = 0; |
| 180 | for (const auto &key_frame_times : key_frame_times_vec) { |
| 181 | int corresponding_frame = -1; |
| 182 | double min_time_diff = 0.005; |
| 183 | |
| 184 | for (i; i < reference_time_vec.size(); ++i) { |
| 185 | double time_diff = std::abs(reference_time_vec[i] - key_frame_times); |
| 186 | if (time_diff < min_time_diff) { |
| 187 | corresponding_frame = i; |
| 188 | corresponding_frames.push_back(corresponding_frame); |
| 189 | break; |
| 190 | } |
| 191 | } |
| 192 | } |
| 193 | return corresponding_frames; |
| 194 | } |
| 195 | |
| 196 | void load_CSV_pose_with_time( |
| 197 | const std::string &file_path, std::vector<int> &index_vec, |