Mercurial Hosting > traffic-intelligence
changeset 815:daa992ac6b44
correcting bug with coordinates in mask
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Sat, 18 Jun 2016 14:25:59 -0400 |
parents | ef8795dba5ed |
children | 0b03218cd008 |
files | c/feature-based-tracking.cpp |
diffstat | 1 files changed, 7 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/c/feature-based-tracking.cpp Fri Jun 10 17:46:54 2016 -0400 +++ b/c/feature-based-tracking.cpp Sat Jun 18 14:25:59 2016 -0400 @@ -182,8 +182,13 @@ std::vector<FeaturePointMatch>::iterator iter = featurePointMatches.begin(); while (iter != featurePointMatches.end()) { bool deleteFeature = false; - - if (status[iter->pointNum] && (mask.at<uchar>(static_cast<int>(round(currPts[iter->pointNum].y)), static_cast<int>(round(currPts[iter->pointNum].x))) != 0)) { + + int currPtX = static_cast<int>(floor(currPts[iter->pointNum].x)); + int currPtY = static_cast<int>(floor(currPts[iter->pointNum].y)); + if ((status[iter->pointNum] =!0) && + (currPtX >= 0) && (currPtX < videoSize.width) && + (currPtY >= 0) && (currPtY < videoSize.height) && + (mask.at<uchar>(currPtY, currPtX) != 0)) { iter->feature->addPoint(frameNum, currPts[iter->pointNum], homography); deleteFeature = iter->feature->isDisplacementSmall(params.nDisplacements, minTotalFeatureDisplacement)