00001 #ifndef CALIB_CAMERA_H 00002 #define CALIB_CAMERA_H 00003 00004 #include <AR/gsub_lite.h> 00005 00006 #define H_NUM 6 00007 #define V_NUM 4 00008 #define LOOP_MAX 20 00009 #define THRESH 100 00010 00011 typedef struct { 00012 double x_coord; 00013 double y_coord; 00014 } CALIB_COORD_T; 00015 00016 typedef struct patt { 00017 unsigned char *savedImage[LOOP_MAX]; 00018 ARGL_CONTEXT_SETTINGS_REF arglSettings[LOOP_MAX]; 00019 CALIB_COORD_T *world_coord; 00020 CALIB_COORD_T *point[LOOP_MAX]; 00021 int h_num; // Number of dots horizontally in the calibration pattern. 00022 int v_num; // Number of dots vertically in the calibration pattern. 00023 int loop_num; // How many images of the complete calibration patterns we have completed. 00024 } CALIB_PATT_T; 00025 00026 void calc_distortion( CALIB_PATT_T *patt, int xsize, int ysize, double dist_factor[3] ); 00027 int calc_inp( CALIB_PATT_T *patt, double dist_factor[4], int xsize, int ysize, double mat[3][4] ); 00028 00029 #endif // CALIB_CAMERA_H