Mercurial Hosting > traffic-intelligence
comparison c/feature-based-tracking.cpp @ 136:0f790de9437e
renamed Feature to Motion files and added code to test blob db
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Thu, 18 Aug 2011 22:25:21 -0400 |
parents | 32d2722d4028 |
children | 445e773c9be3 |
comparison
equal
deleted
inserted
replaced
135:32d2722d4028 | 136:0f790de9437e |
---|---|
1 #include "Feature.hpp" | 1 #include "Motion.hpp" |
2 #include "Parameters.hpp" | 2 #include "Parameters.hpp" |
3 #include "cvutils.hpp" | 3 #include "cvutils.hpp" |
4 #include "utils.hpp" | 4 #include "utils.hpp" |
5 | 5 |
6 #include "src/Trajectory.h" | 6 #include "src/Trajectory.h" |
7 #include "src/TrajectoryDBAccessList.h" | 7 #include "src/TrajectoryDBAccessList.h" |
8 #include "src/TrajectoryDBAccessBlob.h" | |
8 | 9 |
9 #include "opencv2/core/core.hpp" | 10 #include "opencv2/core/core.hpp" |
10 #include "opencv2/highgui/highgui.hpp" | 11 #include "opencv2/highgui/highgui.hpp" |
11 //#include "opencv2/imgproc/imgproc.hpp" | 12 //#include "opencv2/imgproc/imgproc.hpp" |
12 #include "opencv2/features2d/features2d.hpp" | 13 #include "opencv2/features2d/features2d.hpp" |
115 cout << "capture device " << argv[1] << " failed to open!" << endl; | 116 cout << "capture device " << argv[1] << " failed to open!" << endl; |
116 return 1; | 117 return 1; |
117 } | 118 } |
118 | 119 |
119 // database | 120 // database |
120 TrajectoryDBAccessList<Point2f> trajectoryDB; | 121 TrajectoryDBAccess<Point2f>* trajectoryDB = new TrajectoryDBAccessList<Point2f>(); |
121 trajectoryDB.connect("test.sqlite"); | 122 //TrajectoryDBAccess<Point2f>* trajectoryDB = new TrajectoryDBAccessBlob<Point2f>(); |
122 trajectoryDB.createTable(); | 123 trajectoryDB->connect("test.sqlite"); |
124 trajectoryDB->createTable(); | |
123 | 125 |
124 vector<KeyPoint> prevKpts, currKpts; | 126 vector<KeyPoint> prevKpts, currKpts; |
125 vector<Point2f> prevPts, currPts, newPts; | 127 vector<Point2f> prevPts, currPts, newPts; |
126 vector<uchar> status; | 128 vector<uchar> status; |
127 vector<float> errors; | 129 vector<float> errors; |
165 | 167 |
166 if (deleteFeature) { | 168 if (deleteFeature) { |
167 if (iter->feature->length() >= params.minFeatureTime) { | 169 if (iter->feature->length() >= params.minFeatureTime) { |
168 iter->feature->setId(savedFeatureId); | 170 iter->feature->setId(savedFeatureId); |
169 savedFeatureId++; | 171 savedFeatureId++; |
170 iter->feature->write(trajectoryDB); | 172 iter->feature->write(*trajectoryDB); |
171 } | 173 } |
172 iter = featurePointMatches.erase(iter); | 174 iter = featurePointMatches.erase(iter); |
173 } else | 175 } else |
174 iter++; | 176 iter++; |
175 } | 177 } |
214 prevPts = currPts; | 216 prevPts = currPts; |
215 //prevKpts = currKpts; | 217 //prevKpts = currKpts; |
216 //currDesc.copyTo(prevDesc); | 218 //currDesc.copyTo(prevDesc); |
217 } | 219 } |
218 | 220 |
219 trajectoryDB.disconnect(); | 221 trajectoryDB->disconnect(); |
220 return 0; | 222 return 0; |
221 } | 223 } |
222 | 224 |
223 | 225 |
224 /* ------------------ DOCUMENTATION ------------------ */ | 226 /* ------------------ DOCUMENTATION ------------------ */ |