Mercurial Hosting > 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 |