Go to the documentation of this file.00001 
00002 
00003 
00004 
00005 
00025 
00026 
00027 
00028 
00029 
00030 
00031 #ifndef AR_PARAM_H
00032 #define AR_PARAM_H
00033 #ifdef __cplusplus
00034 extern "C" {
00035 #endif
00036 
00037 
00038 
00039 
00040 
00041 #include <AR/config.h>
00042 
00043 
00044 
00045 
00046 
00066 typedef struct {
00067     int      xsize, ysize;
00068     double   mat[3][4];
00069     double   dist_factor[4];
00070 } ARParam;
00071 
00072 typedef struct {
00073     int      xsize, ysize;
00074     double   matL[3][4];
00075     double   matR[3][4];
00076     double   matL2R[3][4];
00077     double   dist_factorL[4];
00078     double   dist_factorR[4];
00079 } ARSParam;
00080 
00081 
00082 
00083 
00084 
00085 
00086 
00087 
00088 
00100 int  arParamGet( double global[][3], double screen[][2], int data_num,
00101                  double mat[3][4] );
00102 
00112 int  arParamDecomp( ARParam *source, ARParam *icpara, double trans[3][4] );
00113 
00123 int  arParamDecompMat( double source[3][4], double cpara[3][4], double trans[3][4] );
00124 
00139 int arParamIdeal2Observ( const double dist_factor[4], const double ix, const double iy,
00140                          double *ox, double *oy );
00141 
00156 int arParamObserv2Ideal( const double dist_factor[4], const double ox, const double oy,
00157                          double *ix, double *iy );
00158 
00169 int arParamChangeSize( ARParam *source, int xsize, int ysize, ARParam *newparam );
00170 
00180 int    arParamSave( char *filename, int num, ARParam *param, ...);
00181 
00192 int    arParamLoad( const char *filename, int num, ARParam *param, ...);
00193 
00201 int    arParamDisp( ARParam *param );
00202 
00203 
00204 
00205 int    arsParamChangeSize( ARSParam *source, int xsize, int ysize, ARSParam *newparam );
00206 
00207 int    arsParamSave( char *filename, ARSParam *sparam );
00208 
00209 int    arsParamLoad( char *filename, ARSParam *sparam );
00210 
00211 int    arsParamDisp( ARSParam *sparam );
00212 
00213 int    arsParamGetMat( double matL[3][4], double matR[3][4],
00214                        double cparaL[3][4], double cparaR[3][4], double matL2R[3][4] );
00215 
00216 #ifdef __cplusplus
00217 }
00218 #endif
00219 #endif