create keyframe online
| 12 | |
| 13 | // create keyframe online |
| 14 | KeyFrame::KeyFrame(double _time_stamp, int _index, Vector3d &_vio_T_w_i, Matrix3d &_vio_R_w_i, cv::Mat &_image, |
| 15 | vector<cv::Point3f> &_point_3d, vector<cv::Point2f> &_point_2d_uv, vector<cv::Point2f> &_point_2d_norm, |
| 16 | vector<double> &_point_id, int _sequence) |
| 17 | { |
| 18 | time_stamp = _time_stamp; |
| 19 | index = _index; |
| 20 | vio_T_w_i = _vio_T_w_i; |
| 21 | vio_R_w_i = _vio_R_w_i; |
| 22 | T_w_i = vio_T_w_i; |
| 23 | R_w_i = vio_R_w_i; |
| 24 | origin_vio_T = vio_T_w_i; |
| 25 | origin_vio_R = vio_R_w_i; |
| 26 | image = _image.clone(); |
| 27 | cv::resize(image, thumbnail, cv::Size(80, 60)); |
| 28 | point_3d = _point_3d; |
| 29 | point_2d_uv = _point_2d_uv; |
| 30 | point_2d_norm = _point_2d_norm; |
| 31 | point_id = _point_id; |
| 32 | has_loop = false; |
| 33 | loop_index = -1; |
| 34 | has_fast_point = false; |
| 35 | loop_info << 0, 0, 0, 0, 0, 0, 0, 0; |
| 36 | sequence = _sequence; |
| 37 | computeWindowBRIEFPoint(); |
| 38 | computeBRIEFPoint(); |
| 39 | if(!DEBUG_IMAGE) |
| 40 | image.release(); |
| 41 | } |
| 42 | |
| 43 | // load previous keyframe |
| 44 | KeyFrame::KeyFrame(double _time_stamp, int _index, Vector3d &_vio_T_w_i, Matrix3d &_vio_R_w_i, Vector3d &_T_w_i, Matrix3d &_R_w_i, |
nothing calls this directly
no outgoing calls
no test coverage detected