Mercurial Hosting > traffic-intelligence
diff c/Feature.cpp @ 129:4742b2b6d851
created basic feature saving code
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Wed, 17 Aug 2011 17:14:00 -0400 |
parents | |
children | 45c64e68053c |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/c/Feature.cpp Wed Aug 17 17:14:00 2011 -0400 @@ -0,0 +1,30 @@ +#include "Feature.hpp" + +#include "opencv2/core/core.hpp" + +using namespace std; +using namespace cv; + +void FeatureTrajectory::addPoint(const int& frameNum, const Point2f& p) { + positions.add(frameNum, p); + computeMotionData(frameNum); +} + +// protected + +void FeatureTrajectory::computeMotionData(const int& frameNum) { + unsigned int nPositions = positions.size(); + if (nPositions >= 3) { + Point2f displacement = positions[nPositions-1] - positions[nPositions-2]; + velocities.add(frameNum, displacement); + float dist = norm(displacement); + displacementDistances.push_back(dist); + } else if (nPositions == 2) { + Point2f displacement = positions[1] - positions[0]; + velocities.add(frameNum-1, displacement); + velocities.add(frameNum, displacement); + float dist = norm(displacement); + displacementDistances.push_back(dist); + displacementDistances.push_back(dist); + } +}