remove the reserve function for vector oprator

This commit is contained in:
gfuse
2021-08-20 12:45:32 +02:00
parent b73bd992db
commit 21f7620b6a
5 changed files with 12 additions and 13 deletions
+1 -1
View File
@@ -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<double> depth_vec;
depth_vec.reserve(frame.fts_.size());
//depth_vec.reserve(frame.fts_.size());
depth_min = std::numeric_limits<double>::max();
for(auto it=frame.fts_.begin(), ite=frame.fts_.end(); it!=ite; ++it)
{
+4 -5
View File
@@ -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<cv::Point2f>::iterator px_ref_it = px_ref.begin();
vector<cv::Point2f>::iterator px_cur_it = px_cur.begin();
vector<Vector3d>::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])
+5 -5
View File
@@ -73,9 +73,9 @@ computeInliers(const vector<Vector3d>& features1, // c1
vector<int>& inliers,
vector<int>& 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<features1.size(); ++j)
@@ -104,8 +104,8 @@ computeInliersOneView(const vector<Vector3d> & feature_sphere_vec,
vector<int>& inliers,
vector<int>& 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],
+1 -1
View File
@@ -45,7 +45,7 @@ void optimizeGaussNewton(
Vector3d b;
// compute the scale of the error for robust estimation
std::vector<float> errors; errors.reserve(frame->fts_.size());
std::vector<float> errors;
for(auto it=frame->fts_.begin(); it!=frame->fts_.end(); ++it)
{
if((*it)->point == NULL)
+1 -1
View File
@@ -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);