From 21f7620b6a4491f22a702fb767c861f21fd82f01 Mon Sep 17 00:00:00 2001 From: gfuse Date: Fri, 20 Aug 2021 12:45:32 +0200 Subject: [PATCH] remove the reserve function for vector oprator --- GPU_version/vio/src/frame.cpp | 2 +- GPU_version/vio/src/initialization.cpp | 9 ++++----- GPU_version/vio/src/math_utils.cpp | 10 +++++----- GPU_version/vio/src/pose_optimizer.cpp | 2 +- GPU_version/vio/src/vo_node.cpp | 2 +- 5 files changed, 12 insertions(+), 13 deletions(-) diff --git a/GPU_version/vio/src/frame.cpp b/GPU_version/vio/src/frame.cpp index 4bb2b9b..a9438d5 100644 --- a/GPU_version/vio/src/frame.cpp +++ b/GPU_version/vio/src/frame.cpp @@ -165,7 +165,7 @@ void createImgPyramid(const cv::Mat& img_level_0, int n_levels, ImgPyr& pyr) bool getSceneDepth(const Frame& frame, double& depth_mean, double& depth_min) { vector depth_vec; - depth_vec.reserve(frame.fts_.size()); + //depth_vec.reserve(frame.fts_.size()); depth_min = std::numeric_limits::max(); for(auto it=frame.fts_.begin(), ite=frame.fts_.end(); it!=ite; ++it) { diff --git a/GPU_version/vio/src/initialization.cpp b/GPU_version/vio/src/initialization.cpp index 2582c0c..4ec1434 100644 --- a/GPU_version/vio/src/initialization.cpp +++ b/GPU_version/vio/src/initialization.cpp @@ -114,10 +114,9 @@ void detectFeatures( feature_detection::FastDetector detector( frame->img().cols, frame->img().rows, Config::gridSize(), gpu_fast,Config::nPyrLevels()); detector.detect(frame.get(), frame->img_pyr_, Config::triangMinCornerScore(), new_features); - // now for all maximum corners, initialize a new seed - px_vec.clear(); px_vec.reserve(new_features.size()); - f_vec.clear(); f_vec.reserve(new_features.size()); + px_vec.clear(); + f_vec.clear(); for(auto&& ftr:new_features){ px_vec.push_back(cv::Point2f(ftr->px[0], ftr->px[1])); f_vec.push_back(ftr->f); @@ -151,8 +150,8 @@ void trackKlt( vector::iterator px_ref_it = px_ref.begin(); vector::iterator px_cur_it = px_cur.begin(); vector::iterator f_ref_it = f_ref.begin(); - f_cur.clear(); f_cur.reserve(px_cur.size()); - disparities.reserve(px_cur.size()); + f_cur.clear(); //f_cur.reserve(px_cur.size()); + //disparities.reserve(px_cur.size()); for(size_t i=0; px_ref_it != px_ref.end(); ++i) { if(!status[i]) diff --git a/GPU_version/vio/src/math_utils.cpp b/GPU_version/vio/src/math_utils.cpp index bcaff29..880250e 100644 --- a/GPU_version/vio/src/math_utils.cpp +++ b/GPU_version/vio/src/math_utils.cpp @@ -73,9 +73,9 @@ computeInliers(const vector& features1, // c1 vector& inliers, vector& outliers) { - inliers.clear(); inliers.reserve(features1.size()); - outliers.clear(); outliers.reserve(features1.size()); - xyz_vec.clear(); xyz_vec.reserve(features1.size()); + inliers.clear(); //inliers.reserve(features1.size()); + outliers.clear(); //outliers.reserve(features1.size()); + xyz_vec.clear(); //xyz_vec.reserve(features1.size()); double tot_error = 0; //triangulate all features and compute reprojection errors and inliers for(size_t j=0; j & feature_sphere_vec, vector& inliers, vector& outliers) { - inliers.clear(); inliers.reserve(xyz_vec.size()); - outliers.clear(); outliers.reserve(xyz_vec.size()); + inliers.clear(); //inliers.reserve(xyz_vec.size()); + outliers.clear(); //outliers.reserve(xyz_vec.size()); for(size_t j = 0; j < xyz_vec.size(); j++ ) { double e = reprojError(feature_sphere_vec[j], diff --git a/GPU_version/vio/src/pose_optimizer.cpp b/GPU_version/vio/src/pose_optimizer.cpp index 7ef9541..961eae1 100644 --- a/GPU_version/vio/src/pose_optimizer.cpp +++ b/GPU_version/vio/src/pose_optimizer.cpp @@ -45,7 +45,7 @@ void optimizeGaussNewton( Vector3d b; // compute the scale of the error for robust estimation - std::vector errors; errors.reserve(frame->fts_.size()); + std::vector errors; for(auto it=frame->fts_.begin(); it!=frame->fts_.end(); ++it) { if((*it)->point == NULL) diff --git a/GPU_version/vio/src/vo_node.cpp b/GPU_version/vio/src/vo_node.cpp index b828702..1c4c1b3 100644 --- a/GPU_version/vio/src/vo_node.cpp +++ b/GPU_version/vio/src/vo_node.cpp @@ -131,7 +131,7 @@ void VioNode::imgCb(const sensor_msgs::ImageConstPtr& msg) if(img.empty())return; cv::Mat imgbul; cv::Laplacian(img,imgbul,CV_64F); - cv::Scalar mean, stddev; // 0:1st channel, 1:2nd channel and 2:3rd channel + cv::Scalar mean, stddev; meanStdDev(imgbul, mean, stddev, cv::Mat()); if(stddev.val[0] * stddev.val[0]< 50.0)return; vo_->addImage(img, msg->header.stamp.toSec(),msg->header.stamp);