diff --git a/GPU_version/vio/src/reprojector.cpp b/GPU_version/vio/src/reprojector.cpp index 156aa1f..2b0d77f 100644 --- a/GPU_version/vio/src/reprojector.cpp +++ b/GPU_version/vio/src/reprojector.cpp @@ -213,7 +213,7 @@ void Reprojector::reprojectMap( std::vector< std::pair >& overlap_kfs) { resetGrid(); - cv::Mat descriptors_ref, descriptors_cur; + cv::Mat descriptors_cur; std::vector keypoints_cur; std::vector matches; cv::Ptr extractor = cv::xfeatures2d::FREAK::create(true, true, 50.0f, 4); @@ -231,6 +231,7 @@ void Reprojector::reprojectMap( it_frame!=ite_frame && n keypoints_kfs; + cv::Mat descriptors_ref; FramePtr ref_frame = it_frame->first; overlap_kfs.push_back(pair(ref_frame,0)); @@ -243,15 +244,14 @@ void Reprojector::reprojectMap( if((*it_ftr)->point->last_projected_kf_id_ == frame->id_) continue; (*it_ftr)->point->last_projected_kf_id_ = frame->id_; - cv::KeyPoint * kp = new cv::KeyPoint; - kp->pt.x = (*it_ftr)->px.x(); - kp->pt.y = (*it_ftr)->px.y(); - keypoints_kfs.push_back(*kp); + cv::KeyPoint kp; + kp.pt.x = (*it_ftr)->px.x(); + kp.pt.y = (*it_ftr)->px.y(); + keypoints_kfs.push_back(kp); } extractor->compute(it_frame->first->img(), keypoints_kfs, descriptors_ref); matcher->match(descriptors_ref, descriptors_cur, matches); - //std::cerr<fts_.begin(); auto fts2 = fts;