Mercurial Hosting > traffic-intelligence
comparison c/feature-based-tracking.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 | 41a72146685e 82c06ad62254 |
comparison
equal
deleted
inserted
replaced
480:f43bc0b0ba74 | 481:b6ad86ee7033 |
---|---|
168 | 168 |
169 if (deleteFeature) { | 169 if (deleteFeature) { |
170 if (iter->feature->length() >= params.minFeatureTime) { | 170 if (iter->feature->length() >= params.minFeatureTime) { |
171 iter->feature->setId(savedFeatureId); | 171 iter->feature->setId(savedFeatureId); |
172 savedFeatureId++; | 172 savedFeatureId++; |
173 iter->feature->movingAverage(params.nFramesSmoothing); | |
173 lostFeatures.push_back(iter->feature); | 174 lostFeatures.push_back(iter->feature); |
174 } | 175 } |
175 iter = featurePointMatches.erase(iter); | 176 iter = featurePointMatches.erase(iter); |
176 } else { | 177 } else { |
177 trackedPts.push_back(currPts[iter->pointNum]); | 178 trackedPts.push_back(currPts[iter->pointNum]); |
220 std::vector<FeaturePointMatch>::iterator iter = featurePointMatches.begin(); | 221 std::vector<FeaturePointMatch>::iterator iter = featurePointMatches.begin(); |
221 while (iter != featurePointMatches.end()) { | 222 while (iter != featurePointMatches.end()) { |
222 if (iter->feature->length() >= params.minFeatureTime) { | 223 if (iter->feature->length() >= params.minFeatureTime) { |
223 iter->feature->setId(savedFeatureId); | 224 iter->feature->setId(savedFeatureId); |
224 savedFeatureId++; | 225 savedFeatureId++; |
225 f->write(*trajectoryDB, "positions", "velocities") | 226 iter->feature->movingAverage(params.nFramesSmoothing); |
227 iter->feature->write(*trajectoryDB, "positions", "velocities"); | |
226 } | 228 } |
227 iter++; | 229 iter++; |
228 } | 230 } |
229 | 231 |
230 trajectoryDB->endTransaction(); | 232 trajectoryDB->endTransaction(); |