Mercurial > hg > nsaunier > traffic-intelligence
comparison include/Parameters.hpp @ 614:5e09583275a4
Merged Nicolas/trafficintelligence into default
| author | Mohamed Gomaa <eng.m.gom3a@gmail.com> |
|---|---|
| date | Fri, 05 Dec 2014 12:13:53 -0500 |
| parents | 935430b1d408 |
| children | 045d05cef9d0 |
comparison
equal
deleted
inserted
replaced
| 598:11f96bd08552 | 614:5e09583275a4 |
|---|---|
| 2 #define PARAMETERS_HPP | 2 #define PARAMETERS_HPP |
| 3 | 3 |
| 4 /// \todo Class for parameters, with utilities to save and load from configuration files | 4 /// \todo Class for parameters, with utilities to save and load from configuration files |
| 5 | 5 |
| 6 #include <string> | 6 #include <string> |
| 7 #include <vector> | |
| 7 | 8 |
| 8 namespace boost{ | 9 namespace boost{ |
| 9 namespace program_options { | 10 namespace program_options { |
| 10 class options_description; | 11 class options_description; |
| 11 class variables_map; | 12 class variables_map; |
| 17 bool groupFeatures; | 18 bool groupFeatures; |
| 18 | 19 |
| 19 std::string videoFilename; | 20 std::string videoFilename; |
| 20 std::string databaseFilename; | 21 std::string databaseFilename; |
| 21 std::string homographyFilename; | 22 std::string homographyFilename; |
| 23 std::string intrinsicCameraFilename; | |
| 24 std::vector<float> distortionCoefficients; | |
| 25 float undistortedImageMultiplication; | |
| 26 int interpolationMethod; | |
| 22 std::string maskFilename; | 27 std::string maskFilename; |
| 28 bool undistort; | |
| 23 bool loadFeatures; | 29 bool loadFeatures; |
| 24 bool display; | 30 bool display; |
| 25 float videoFPS; | 31 float videoFPS; |
| 26 // int measurementPrecision; | 32 // int measurementPrecision; |
| 27 unsigned int frame1; | 33 unsigned int frame1; |
| 28 int nFrames; | 34 int nFrames; |
| 29 // feature tracking | 35 // feature tracking |
| 36 /// "Maximum number of corners to return" (OpenCV goodFeaturesToTrack) (should be large enough not to limit the potential number of features) | |
| 30 int maxNFeatures; | 37 int maxNFeatures; |
| 38 /// "Parameter characterizing the minimal accepted quality of image corners" (OpenCV goodFeaturesToTrack ) | |
| 31 float featureQuality; | 39 float featureQuality; |
| 40 /// "Minimum possible Euclidean distance between the returned corners" (OpenCV goodFeaturesToTrack) | |
| 32 float minFeatureDistanceKLT; | 41 float minFeatureDistanceKLT; |
| 42 /// "Size of an average block for computing a derivative covariation matrix over each pixel neighborhood" (OpenCV goodFeaturesToTrack) | |
| 43 int blockSize; | |
| 44 /// "Parameter indicating whether to use a Harris detector" (OpenCV goodFeaturesToTrack) | |
| 45 bool useHarrisDetector; | |
| 46 /// "Free parameter of the Harris detector" (OpenCV goodFeaturesToTrack) | |
| 47 float k; | |
| 48 /// "size of the search window at each pyramid level" (OpenCV calcOpticalFlowPyrLK) | |
| 33 int windowSize; | 49 int windowSize; |
| 34 bool useHarrisDetector; | 50 /// "0-based maximal pyramid level number" (OpenCV calcOpticalFlowPyrLK) higher is higher quality |
| 35 float k; | |
| 36 int pyramidLevel; | 51 int pyramidLevel; |
| 52 /// Number of displacements (number of frames-1) over which minimum motion is computed | |
| 37 unsigned int nDisplacements; | 53 unsigned int nDisplacements; |
| 54 /// Minimum displacement per frame (in world space) to keep features | |
| 38 float minFeatureDisplacement; | 55 float minFeatureDisplacement; |
| 56 /// Maximum feature acceleration | |
| 39 float accelerationBound; | 57 float accelerationBound; |
| 58 /// Maximum feature deviation | |
| 40 float deviationBound; | 59 float deviationBound; |
| 60 /// Number of frames to smooth positions (half window) | |
| 41 int nFramesSmoothing; | 61 int nFramesSmoothing; |
| 42 //int nFramesVelocity; | 62 //int nFramesVelocity; |
| 63 /// Maximum number of iterations to stop optical flow (OpenCV calcOpticalFlowPyrLK) | |
| 43 int maxNumberTrackingIterations; | 64 int maxNumberTrackingIterations; |
| 65 /// Minimum error to reach to stop optical flow (OpenCV calcOpticalFlowPyrLK) | |
| 44 float minTrackingError; | 66 float minTrackingError; |
| 67 /// Minimum eigen value of a 2x2 normal matrix of optical flow equations (OpenCV calcOpticalFlowPyrLK) | |
| 68 float minFeatureEigThreshold; | |
| 69 /// Minimum length of a feature (number of frames) to consider a feature for grouping | |
| 45 unsigned int minFeatureTime; | 70 unsigned int minFeatureTime; |
| 71 /// Connection distance in feature grouping (in world space) | |
| 46 float mmConnectionDistance; | 72 float mmConnectionDistance; |
| 73 /// Segmentation distance in feature grouping (in world space) | |
| 47 float mmSegmentationDistance; | 74 float mmSegmentationDistance; |
| 75 /// Maximum distance between features for grouping (in world space) (unused) | |
| 48 float maxDistance; | 76 float maxDistance; |
| 77 /// Minimum cosine of the angle between the velocity vectors for grouping (unused) | |
| 49 float minVelocityCosine; | 78 float minVelocityCosine; |
| 79 /// Minimum average number of features per frame to create a vehicle hypothesis | |
| 50 float minNFeaturesPerGroup; | 80 float minNFeaturesPerGroup; |
| 81 // safety analysis | |
| 82 float maxPredictedSpeed; | |
| 83 float predictionTimeHorizon; | |
| 84 float collisionDistance; | |
| 85 bool crossingZones; | |
| 86 std::string predictionMethod; | |
| 87 int nPredictedTrajectories; | |
| 88 float minAcceleration; | |
| 89 float maxAcceleration; | |
| 90 float maxSteering; | |
| 91 bool useFeaturesForPrediction; | |
| 51 | 92 |
| 52 std::string parameterDescription; | 93 std::string parameterDescription; |
| 53 | 94 |
| 54 KLTFeatureTrackingParameters(const int argc, char* argv[]); | 95 KLTFeatureTrackingParameters(const int argc, char* argv[]); |
| 55 | 96 |
