param.h
Go to the documentation of this file.
00001 /*  --------------------------------------------------------------------------
00002 *   Copyright (C) 2004 Hitlab NZ.
00003 *   The distribution policy is describe on the Copyright.txt furnish 
00004 *    with this library.
00005 *   -------------------------------------------------------------------------*/
00025 /*  --------------------------------------------------------------------------
00026 *   History : 
00027 *   Rev         Date            Who             Changes
00028 *
00029 *----------------------------------------------------------------------------*/
00030 
00031 #ifndef AR_PARAM_H
00032 #define AR_PARAM_H
00033 #ifdef __cplusplus
00034 extern "C" {
00035 #endif
00036 
00037 // ============================================================================
00038 //      Public includes.
00039 // ============================================================================
00040 
00041 #include <AR/config.h>
00042 
00043 // ============================================================================
00044 //      Public types and defines.
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 //      Public globals.
00083 // ============================================================================
00084 
00085 // ============================================================================
00086 //      Public functions.
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
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines


ar_recog
Author(s): Graylin Trevor Jay and Christopher Crick
autogenerated on Fri Jan 25 2013 12:15:00