Mercurial Hosting > traffic-intelligence
comparison c/Motion.cpp @ 138:c1b260b48d2a
corrected initialization bugs and feature shortening before saving
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Fri, 19 Aug 2011 12:15:23 -0400 |
parents | 445e773c9be3 |
children | 47329bd16cc0 |
comparison
equal
deleted
inserted
replaced
137:445e773c9be3 | 138:c1b260b48d2a |
---|---|
10 | 10 |
11 FeatureTrajectory::FeatureTrajectory(const int& frameNum, const cv::Point2f& p) { | 11 FeatureTrajectory::FeatureTrajectory(const int& frameNum, const cv::Point2f& p) { |
12 addPoint(frameNum, p); | 12 addPoint(frameNum, p); |
13 } | 13 } |
14 | 14 |
15 bool FeatureTrajectory::largeDisplacement(const unsigned int& nDisplacements, const float& minTotalFeatureDisplacement) const { | 15 bool FeatureTrajectory::smallDisplacement(const unsigned int& nDisplacements, const float& minTotalFeatureDisplacement) const { |
16 bool result = true; | 16 bool result = false; |
17 unsigned int nPositions = positions.size(); | 17 unsigned int nPositions = positions.size(); |
18 if (nPositions > nDisplacements) { | 18 if (nPositions > nDisplacements) { |
19 float disp = 0; | 19 float disp = 0; |
20 for (unsigned int i=0; i<nDisplacements; i++) | 20 for (unsigned int i=0; i<nDisplacements; i++) |
21 disp += displacementDistances[nPositions-2-i]; | 21 disp += displacementDistances[nPositions-2-i]; |
22 result = disp > minTotalFeatureDisplacement; | 22 result = disp < minTotalFeatureDisplacement; |
23 } | 23 } |
24 return result; | 24 return result; |
25 } | 25 } |
26 | 26 |
27 void FeatureTrajectory::addPoint(const int& frameNum, const Point2f& p) { | 27 void FeatureTrajectory::addPoint(const int& frameNum, const Point2f& p) { |
28 positions.add(frameNum, p); | 28 positions.add(frameNum, p); |
29 computeMotionData(frameNum); | 29 computeMotionData(frameNum); |
30 } | |
31 | |
32 void FeatureTrajectory::shorten(void) { | |
33 positions.pop_back(); | |
34 velocities.pop_back(); | |
35 displacementDistances.pop_back(); | |
30 } | 36 } |
31 | 37 |
32 void FeatureTrajectory::write(TrajectoryDBAccess<Point2f>& trajectoryDB) const { | 38 void FeatureTrajectory::write(TrajectoryDBAccess<Point2f>& trajectoryDB) const { |
33 /// \todo save velocities | 39 /// \todo save velocities |
34 trajectoryDB.write(positions); | 40 trajectoryDB.write(positions); |