Mercurial Hosting > traffic-intelligence
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); |