remove the reserve function for vector oprator
This commit is contained in:
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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])
|
||||
|
||||
@@ -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],
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user