00001
00002
00003 #ifndef CORRELATION_PARAMS_HPP
00004 #define CORRELATION_PARAMS_HPP
00005
00006 #include "stereo/CalibrageMatrices.hpp"
00007 #include "stereo/ImagesSizes.hpp"
00008
00009 namespace jafar {
00011 namespace stereo {
00012
00017 class CorrelationParams
00018 {
00019 public:
00021 enum STATE {NOT_INITIALIZED, INITIALIZED};
00022
00023 enum CORRELATION_TYPE{ ZNCC,
00024 ZNCC_SIGMA,
00025 CENSUS,
00026 CENSUS_SIGMA};
00027
00028 enum INTERPOLATION_TYPE{ NIL,
00029 PARABOLIQUE_ONLY,
00030 BILINERAIRE_ONLY,
00031 BOTH};
00032
00033
00034
00035 enum CENSUS_TYPE {CENSUS_NIL,
00036 CENSUS_8BITS_SQUARE,
00037 CENSUS_8BITS_DIAMOND,
00038 CENSUS_MEAN_8BITS_SQUARE,
00039 CENSUS_MEAN_8BITS_DIAMOND,
00040 CENSUS_MEAN_MEAN_8BITS_SQUARE,
00041 CENSUS_MEAN_MEAN_8BITS_DIAMOND};
00042
00043 CorrelationParams();
00044 ~CorrelationParams();
00045
00046 CorrelationParams& copy(CorrelationParams& srcCorrelationParams);
00047
00049 void info();
00050
00052 void initialize(CorrelationParams::CORRELATION_TYPE type_correlation,
00053 CorrelationParams::INTERPOLATION_TYPE type_interpolation,
00054 int win_nb_lig,
00055 int win_nb_col,
00056 int disp_min,
00057 int disp_max,
00058 double var_th,
00059 double score_th,
00060 double diff_2_max_th,
00061 double diff_neighbor_max_th,
00062 int inv_th);
00063
00064
00065
00067 CorrelationParams::STATE state;
00068 CorrelationParams::CORRELATION_TYPE type_correlation;
00069 CorrelationParams::INTERPOLATION_TYPE type_interpolation;
00070
00071
00073 int win_nb_lig;
00075 int win_nb_col;
00076
00077
00079 int disp_min;
00081 int disp_max;
00082
00083
00084
00085
00086
00087
00088
00090 double var_th;
00092 double score_th;
00094 double diff_2_max_th;
00096 double diff_neighbor_max_th;
00098 int inv_th;
00099 };
00100
00101 }
00102 }
00103
00104
00105 #endif // CORRELATION_PARAMS_HPP