Jafar
|
00001 #ifndef _LOC_PANO_STRUCT_H 00002 #define _LOC_PANO_STRUCT_H 00003 00004 00005 #include "BasicStructures.h" 00006 #include "Panoramique_struct.h" 00007 #include "HistoFamily_struct.h" 00008 00009 namespace jafar { 00010 namespace locpano { 00011 00012 #define LPFilterSize 40 00013 00014 /*************************************/ 00015 typedef enum{BAD_SEL, 00016 GOOD_SEL} state_Aspec; 00017 00018 typedef enum{NIL_SEL, 00019 SEL} state_Selec; 00020 00021 typedef struct LocPanoHeader 00022 { 00023 unsigned char stateAspect:1; /*State of the Aspec. Aspect Representative */ 00024 /*or not representative*/ 00025 float PosX,PosY,PosZ; /* Position for each aspect */ 00026 float Theta; /*robot orientation*/ 00027 double covariances[6]; /* 2D position covariances: XX, XY, YT, YT, TT 00028 (T = theta) */ 00029 } LocPanoHeader; 00030 00031 00032 typedef struct LocPanoData 00033 { 00034 int Label; /*label identification*/ 00035 int maxNbImages; /*Max learning images number */ 00036 int nbImages; /* Number of images stored in the database */ 00037 int Day,Moth,Year; /* Date of the learning phase */ 00038 unsigned Selec:1; /*If the key histograms are find */ 00039 /*Select = SELEC. if not Select=NOT_SELEC*/ 00040 LocPanoHeader *ImageHeader; /*General information of each image*/ 00041 /* One image for each robot postition. 00042 Each aspect is formed by (1) one histogram family, (2) the means of the image region (uses for compute the orientation), (3) one set of Interest point, and 00043 (4) sky line*/ 00044 HistoFam *LocCarHisto; 00045 HistoFam *MeanHisto; 00046 /* IntPoint *IPoint; */ 00047 /* SkyLine *SLine; */ 00048 }LocPanoData; 00049 00050 00051 00052 00053 /****************************************************** 00054 Structure that contains all the parameters to use the functions of LocPano 00055 *************************************/ 00056 00057 typedef struct LocPanoParams 00058 { 00059 /* Info related to the geometry of the images */ 00060 int nbLines; 00061 int nbColumns; /* Size of the images */ 00062 Parabolic imageGeometry; /* 'panoramic' geometry */ 00063 00064 /* For the orientation */ 00065 int minOrientationRadius; /* Radius under which the pixels are 00066 not considered to recover the 00067 orienttation */ 00068 00069 int maxOrientationRadius; /* Radius over which the pixels are 00070 not considered to recover the 00071 orienttation */ 00072 int nbOrientationRings; 00073 int nbOrientationValues; /* Defines how may rings and how 00074 many points on each ring are 00075 used to recover the orientation. */ 00076 00077 /* For the local characteristics */ 00078 int nbLchRings; /* Nb of local characteristics rings */ 00079 int nbLchBins; /* Size of the corresponding histograms */ 00080 int nbLchCharacteristics; /* Nb of computed local characteristics */ 00081 00082 int minLchRadius; /* Radius under which the pixels are 00083 not considered for the local 00084 characteristics */ 00085 float resolutionLog; /* Resolution on the logarithmic aprroximation function*/ 00086 int logComputing; /* logarithme computing or approxim ? (0 = approxim.) */ 00087 00088 float gaussianSigma; 00089 int gaussianOrder; /* Parameters to compute the gaussian derivatives */ 00090 00091 }LocPanoParams; 00092 00093 /************************************************** 00094 Structure that contains all the working data 00095 **************************************************/ 00096 00097 typedef struct LocPanoInternal 00098 { 00099 int nbLines; 00100 int nbColumns; /* Size of the processed images */ 00101 float resolutionLog; /* Resolution on the logarithmic aprroximation function*/ 00102 00103 HistoFam* histoLCH; /* The histograms of local characteristics */ 00104 HistoFam* histoLCHTmp; /* Intermediate data to compute 'closest image' */ 00105 HistoFam* histoOrien; /* The histogram of the mean 00106 characteristics on angular 00107 sectors */ 00108 HistoFam* histoOrienTmp; /* Intermediate data to compute 'histoOrien' */ 00109 00110 int* profileMask; /* To accelerate the computation of 00111 'histoOrien' : defines the angular 00112 sectors */ 00113 int* LCHMask; /* To accelerate the computation of 00114 'Local characteristic histogram(LCH)' : 00115 defines the radius sectors */ 00116 float* LCHPosHist; /* To accelerate the computation of 00117 'Local characteristic histogram(LCH)' : 00118 defines the postition in the histogram with respect 00119 to local characterisitcs*/ 00120 HistoResult* resultHisto; /* result of the histogram compariason*/ 00121 00122 float* Caract1; 00123 float* Caract2; 00124 float* Caract3; 00125 float* Caract4; 00126 float* Caract5; 00127 float* Caract6; 00128 float* Caract7; /* All the local characteristics */ 00129 00130 LocPanoHeader* imagePosition; /*current image position*/ 00131 LocPanoHeader* newimagePosition; /*image position computed with respect to 00132 base database*/ 00133 00134 }LocPanoInternal; 00135 00136 00137 00138 } 00139 } 00140 00141 00142 #endif /* _LOC_PANO_STRUCT_H */ 00143 00144 00145
Generated on Wed Oct 15 2014 00:37:25 for Jafar by doxygen 1.7.6.1 |