Jafar
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
CorrelationParams.hpp
00001 /* $Id$ */
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       // Indique le type de transformation census qu'on applique
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       // data members :
00067       CorrelationParams::STATE state;
00068       CorrelationParams::CORRELATION_TYPE type_correlation;
00069       CorrelationParams::INTERPOLATION_TYPE type_interpolation;
00070 
00071       // Taille de la fenêtre de corrélation
00073       int win_nb_lig;
00075       int win_nb_col;
00076 
00077       // Écart de disparité
00079       int disp_min;
00081       int disp_max;
00082       
00083       
00084       // 'th' stands for 'threshold'. Les différents seuils pour valider un
00085       // apariement. Dans l'ordre : seuil sur l'écart type de la fenêtre considérée,
00086       // sur la valeur du score max, sur l'écart entre les 2 plus grand pics, sur la
00087       // différence max / voisins, et sur l'écart (en pixels) corrélation directe /
00088       // corrélation inverse. 
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   }// namespace stereo
00102 }// namespace jafar
00103 
00104 
00105 #endif // CORRELATION_PARAMS_HPP
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Wed Oct 15 2014 00:37:28 for Jafar by doxygen 1.7.6.1
LAAS-CNRS