changeset 1119:164dab203037

corrected bug for empty new points in array for undistortPoints
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Tue, 02 Jul 2019 14:01:19 -0400
parents 234e2228fd30
children 79c18dde0864
files c/feature-based-tracking.cpp
diffstat 1 files changed, 4 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/c/feature-based-tracking.cpp	Tue Jun 25 17:23:43 2019 -0400
+++ b/c/feature-based-tracking.cpp	Tue Jul 02 14:01:19 2019 -0400
@@ -231,15 +231,15 @@
 	for (int i=MAX(0, currPts[n].y-params.minFeatureDistanceKLT); i<MIN(videoSize.height, currPts[n].y+params.minFeatureDistanceKLT+1); i++)
 	  featureMask.at<uchar>(i,j)=0;
     goodFeaturesToTrack(currentFrameBW, newPts, params.maxNFeatures, params.featureQuality, params.minFeatureDistanceKLT, featureMask, params.blockSize, params.useHarrisDetector, params.k);
-    if (params.undistort)
+    if (params.undistort && newPts.size() > 0)
       undistortPoints(newPts, undistortedPts, intrinsicCameraMatrix, params.distortionCoefficients);
     else
       undistortedPts = newPts;
 	
     for (unsigned int i=0; i<newPts.size(); i++) {
-      FeatureTrajectoryPtr f = FeatureTrajectoryPtr(new FeatureTrajectory(frameNum, undistortedPts[i], homography));
-      featurePointMatches.push_back(FeaturePointMatch(f, currPts.size()));
-      currPts.push_back(newPts[i]);
+	FeatureTrajectoryPtr f = FeatureTrajectoryPtr(new FeatureTrajectory(frameNum, undistortedPts[i], homography));
+	featurePointMatches.push_back(FeaturePointMatch(f, currPts.size()));
+	currPts.push_back(newPts[i]);
     }
   
     if (params.display && !displayFrame.empty()) {