Mercurial > hg > nsaunier > traffic-intelligence
comparison c/Parameters.cpp @ 231:249d65ff6c35
merged modifications for windows
| author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
|---|---|
| date | Mon, 02 Jul 2012 23:49:39 -0400 |
| parents | bc4ea09b1743 6e73b112370b |
| children | f21ef87f98f1 |
comparison
equal
deleted
inserted
replaced
| 230:bc4ea09b1743 | 231:249d65ff6c35 |
|---|---|
| 7 | 7 |
| 8 namespace po = boost::program_options; | 8 namespace po = boost::program_options; |
| 9 using namespace std; | 9 using namespace std; |
| 10 | 10 |
| 11 KLTFeatureTrackingParameters::KLTFeatureTrackingParameters(const int argc, char* argv[]) { | 11 KLTFeatureTrackingParameters::KLTFeatureTrackingParameters(const int argc, char* argv[]) { |
| 12 std::string configurationFilename; | 12 string configurationFilename; |
| 13 po::options_description onlyCmdLine("Command line only"); | 13 po::options_description onlyCmdLine("Command line only"); |
| 14 po::options_description cmdLineAndFile("Command line and configuration file"); | 14 po::options_description cmdLineAndFile("Command line and configuration file"); |
| 15 | 15 |
| 16 // configuration filename | 16 // configuration filename |
| 17 onlyCmdLine.add_options() | 17 onlyCmdLine.add_options() |
| 31 ("homography-filename", po::value<string>(&homographyFilename), "filename of the homography matrix") | 31 ("homography-filename", po::value<string>(&homographyFilename), "filename of the homography matrix") |
| 32 ("mask-filename", po::value<string>(&maskFilename), "filename of the mask image (where features are detected)") | 32 ("mask-filename", po::value<string>(&maskFilename), "filename of the mask image (where features are detected)") |
| 33 ("load-features", po::value<bool>(&loadFeatures), "load features from database") | 33 ("load-features", po::value<bool>(&loadFeatures), "load features from database") |
| 34 ("display", po::value<bool>(&display), "display trajectories on the video") | 34 ("display", po::value<bool>(&display), "display trajectories on the video") |
| 35 ("video-fps", po::value<float>(&videoFPS), "original video frame rate") | 35 ("video-fps", po::value<float>(&videoFPS), "original video frame rate") |
| 36 ("frame1", po::value<int>(&frame1), "first frame to process") | 36 ("frame1", po::value<unsigned int>(&frame1), "first frame to process") |
| 37 ("nframes", po::value<int>(&nFrames), "number of frame to process") | 37 ("nframes", po::value<unsigned int>(&nFrames), "number of frame to process") |
| 38 // feature tracking | 38 // feature tracking |
| 39 ("max-nfeatures", po::value<int>(&maxNFeatures), "maximum number of features added at each frame") | 39 ("max-nfeatures", po::value<int>(&maxNFeatures), "maximum number of features added at each frame") |
| 40 ("feature-quality", po::value<float>(&featureQuality), "quality level of the good features to track") | 40 ("feature-quality", po::value<float>(&featureQuality), "quality level of the good features to track") |
| 41 ("min-feature-distanceklt", po::value<float>(&minFeatureDistanceKLT), "minimum distance between features") | 41 ("min-feature-distanceklt", po::value<float>(&minFeatureDistanceKLT), "minimum distance between features") |
| 42 ("window-size", po::value<int>(&windowSize), "size of the search window at each pyramid level") | 42 ("window-size", po::value<int>(&windowSize), "size of the search window at each pyramid level") |
| 93 } | 93 } |
| 94 } | 94 } |
| 95 | 95 |
| 96 string KLTFeatureTrackingParameters::getParameterDescription(po::options_description& options, const po::variables_map& vm, const string& separator /* = " " */) const { | 96 string KLTFeatureTrackingParameters::getParameterDescription(po::options_description& options, const po::variables_map& vm, const string& separator /* = " " */) const { |
| 97 stringstream stream; | 97 stringstream stream; |
| 98 std::vector<boost::shared_ptr<po::option_description> > optionsVec = options.options(); | 98 vector<boost::shared_ptr<po::option_description> > optionsVec = options.options(); |
| 99 for (unsigned int i=0; i<optionsVec.size(); ++i) { | 99 for (unsigned int i=0; i<optionsVec.size(); ++i) { |
| 100 boost::any value = vm[optionsVec[i]->long_name()].value(); | 100 boost::any value = vm[optionsVec[i]->long_name()].value(); |
| 101 if (value.type() == typeid(bool)) | 101 if (value.type() == typeid(bool)) |
| 102 stream << boost::any_cast<bool>(value) << separator; | 102 stream << boost::any_cast<bool>(value) << separator; |
| 103 else if (value.type() == typeid(int)) | 103 else if (value.type() == typeid(int)) |
