~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
TINA5/tina-libs/tina/geometry/geom_CamDef.h

Version: ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /**********
  2  * 
  3  * This file is part of the TINA Open Source Image Analysis Environment
  4  * henceforth known as TINA
  5  *
  6  * TINA is free software; you can redistribute it and/or modify
  7  * it under the terms of the GNU Lesser General Public License as 
  8  * published by the Free Software Foundation.
  9  *
 10  * TINA is distributed in the hope that it will be useful,
 11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 13  * GNU Lesser General Public License for more details.
 14  *
 15  * You should have received a copy of the GNU Lesser General Public License
 16  * along with TINA; if not, write to the Free Software Foundation, Inc., 
 17  * 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 18  *
 19  **********
 20  * 
 21  * Program :    TINA
 22  * File    :  $Source: /home/tina/cvs/tina-libs/tina/geometry/geom_CamDef.h,v $
 23  * Date    :  $Date: 2002/12/09 11:51:23 $
 24  * Version :  $Revision: 1.1.1.1 $
 25  * CVS Id  :  $Id: geom_CamDef.h,v 1.1.1.1 2002/12/09 11:51:23 cvstina Exp $
 26  *
 27  * Notes :  
 28  *
 29  *********
 30 */
 31 
 32 #ifndef TINA_GEOM_CAM_DEF_HDR
 33 #define TINA_GEOM_CAM_DEF_HDR
 34 
 35 #include <tina/sys/sysDef.h>
 36 #include <tina/math/mathDef.h>
 37 
 38 typedef struct camera
 39   {
 40       Ts_id   ts_id;            /* Tina structure identifier */
 41       /** camera info **/
 42       unsigned int type;
 43       unsigned int label;
 44 
 45       /** physical parameters **/
 46       float   f;                /* focal length */
 47       float   pixel;            /* notional pixel size */
 48       float   ax, ay;           /* x and y expansion factors (aspect ratio ) */
 49       float   cx, cy;           /* x and y image centre coordinates */
 50       int     width, height;    /* image height and width for which relevant */
 51 
 52       /** transformation from world to camera frame **/
 53       Transform3 *transf;
 54 
 55       /** optical distortion **/
 56       void   *distort_params;
 57       void   *(*copy_dist_func) ();
 58       Vec2 (*distort_func) ();
 59       Vec2 (*correct_func) ();
 60 
 61       /** projection from unit camera to image coordinates **/
 62       Mat3    cam_to_im;
 63       /** projection from image to unit camera coordinates **/
 64       Mat3    im_to_cam;
 65   }
 66 Camera;
 67 
 68 #define CAMERA_SWAP_STRING "uuffffffiippwwwtt"
 69 
 70 typedef struct parcam
 71   {
 72       Ts_id   ts_id;            /* Tina structure identifier */
 73       /** camera info **/
 74       unsigned int type;
 75       unsigned int label;
 76 
 77       float   f;                /* notional focal length */
 78       float   I;                /* interocular separation */
 79       float   pixel;            /* notional pixel size */
 80 
 81       /* cameras and rectified counter parts */
 82       struct camera *cam1;      /* original camera 1 */
 83       struct camera *rcam1;     /* rectified camera 1 */
 84       struct camera *cam2;      /* original camera 2 */
 85       struct camera *rcam2;     /* rectified camera 2 */
 86 
 87       struct mat3 rect1;        /* rectification matrix for camera 1 */
 88       struct mat3 derect1;      /* derectification matrix for camera 1 */
 89 
 90       struct mat3 rect2;        /* rectification matrix for camera 2 */
 91       struct mat3 derect2;      /* derectification matrix for camera 2 */
 92 
 93       struct mat3 e;            /* epipolar colineation matrix */
 94   } Parcam;
 95 
 96 #define PARCAM_SWAP_STRING "uufffppppttttt"
 97 
 98 #endif  /* TINA_GEOM_CAM_DEF_HDR */
 99 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.