Mercurial Hosting > traffic-intelligence
diff c/Motion.cpp @ 481:b6ad86ee7033
implemented smoothing (requires latest trajectory management library version)
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Wed, 02 Apr 2014 01:45:53 -0400 |
parents | f43bc0b0ba74 |
children | 46b5cb3f3114 |
line wrap: on
line diff
--- a/c/Motion.cpp Tue Apr 01 17:42:40 2014 -0400 +++ b/c/Motion.cpp Wed Apr 02 01:45:53 2014 -0400 @@ -66,7 +66,7 @@ else ratio = displacementDistances[nPositions-3] / displacementDistances[nPositions-2]; - float cosine = scalarProduct((*velocities)[nPositions-3],(*velocities)[nPositions-2]) / (displacementDistances[nPositions-3] * displacementDistances[nPositions-2]); + float cosine = (*velocities)[nPositions-3].dot((*velocities)[nPositions-2]) / (displacementDistances[nPositions-3] * displacementDistances[nPositions-2]); result = (ratio < accelerationBound) & (cosine > deviationBound); } @@ -111,6 +111,11 @@ displacementDistances.pop_back(); } +void FeatureTrajectory::movingAverage(const unsigned int& nFramesSmoothing) { + positions->movingAverage(nFramesSmoothing); + velocities->movingAverage(nFramesSmoothing); +} + void FeatureTrajectory::write(TrajectoryDBAccess<Point2f>& trajectoryDB, const string& positionsTableName, const string& velocitiesTableName) const { trajectoryDB.write(*positions, positionsTableName); trajectoryDB.write(*velocities, velocitiesTableName);