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 ------------------ */