comparison c/feature-based-tracking.cpp @ 1125:b358bed29ab4

updates and bugs
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Thu, 30 Jan 2020 10:17:07 -0500
parents 05ccd8ef150c
children 051cf5bddc1f
comparison
equal deleted inserted replaced
1118:234e2228fd30 1125:b358bed29ab4
229 for (unsigned int n=0;n<currPts.size(); n++) 229 for (unsigned int n=0;n<currPts.size(); n++)
230 for (int j=MAX(0, currPts[n].x-params.minFeatureDistanceKLT); j<MIN(videoSize.width, currPts[n].x+params.minFeatureDistanceKLT+1); j++) 230 for (int j=MAX(0, currPts[n].x-params.minFeatureDistanceKLT); j<MIN(videoSize.width, currPts[n].x+params.minFeatureDistanceKLT+1); j++)
231 for (int i=MAX(0, currPts[n].y-params.minFeatureDistanceKLT); i<MIN(videoSize.height, currPts[n].y+params.minFeatureDistanceKLT+1); i++) 231 for (int i=MAX(0, currPts[n].y-params.minFeatureDistanceKLT); i<MIN(videoSize.height, currPts[n].y+params.minFeatureDistanceKLT+1); i++)
232 featureMask.at<uchar>(i,j)=0; 232 featureMask.at<uchar>(i,j)=0;
233 goodFeaturesToTrack(currentFrameBW, newPts, params.maxNFeatures, params.featureQuality, params.minFeatureDistanceKLT, featureMask, params.blockSize, params.useHarrisDetector, params.k); 233 goodFeaturesToTrack(currentFrameBW, newPts, params.maxNFeatures, params.featureQuality, params.minFeatureDistanceKLT, featureMask, params.blockSize, params.useHarrisDetector, params.k);
234 if (params.undistort) 234 if (params.undistort && newPts.size() > 0)
235 undistortPoints(newPts, undistortedPts, intrinsicCameraMatrix, params.distortionCoefficients); 235 undistortPoints(newPts, undistortedPts, intrinsicCameraMatrix, params.distortionCoefficients);
236 else 236 else
237 undistortedPts = newPts; 237 undistortedPts = newPts;
238 238
239 for (unsigned int i=0; i<newPts.size(); i++) { 239 for (unsigned int i=0; i<newPts.size(); i++) {
240 FeatureTrajectoryPtr f = FeatureTrajectoryPtr(new FeatureTrajectory(frameNum, undistortedPts[i], homography)); 240 FeatureTrajectoryPtr f = FeatureTrajectoryPtr(new FeatureTrajectory(frameNum, undistortedPts[i], homography));
241 featurePointMatches.push_back(FeaturePointMatch(f, currPts.size())); 241 featurePointMatches.push_back(FeaturePointMatch(f, currPts.size()));
242 currPts.push_back(newPts[i]); 242 currPts.push_back(newPts[i]);
243 } 243 }
244 244
245 if (params.display && !displayFrame.empty()) { 245 if (params.display && !displayFrame.empty()) {
246 imshow("mask", featureMask*256); 246 imshow("mask", featureMask*256);
247 imshow("frame", displayFrame); 247 imshow("frame", displayFrame);