Main Page   Modules   Compound List   File List   Compound Members   File Members  

camera.h File Reference

#include <stdio.h>
#include <gandalf/common/misc_defs.h>
#include <gandalf/vision/camera_defs.h>
#include <gandalf/linalg/3x3matrix.h>
#include <gandalf/linalg/3vector.h>

Go to the source code of this file.

Compounds

struct  Gan_Camera
 Structure containing camera parameters in double precision. More...


Typedefs

typedef Gan_Camera Gan_Camera
 Structure containing camera parameters in double precision.


Functions

Gan_Bool gan_camera_build_va (Gan_Camera *camera, Gan_CameraType type, double zh, double fx, double fy, double x0, double y0,...)
 Constructs a structure representing a camera.

Gan_Bool gan_camera_internalize (Gan_Camera *camera)
 Builds the internals of a camera.

Gan_Bool gan_camera_set_gamma (Gan_Camera *camera, double gamma)
 Sets the gamma for images taken with this camera.

Gan_SquMatrix33 gan_camera_fill_matrix_s (Gan_Camera *camera)
 Fills and returns a 3x3 upper triangular camera matrix.

Gan_Bool gan_camera_project_point_gen (Gan_Camera *camera, Gan_Vector3 *X, Gan_Vector3 *p, Gan_Matrix22 *HX, Gan_Camera HC[2], int *error_code)
 Macro: Projects a point from the scene onto the image.

Gan_Bool gan_camera_project_point (Gan_Camera *camera, Gan_Vector3 *X, Gan_Vector3 *p, int *error_code)
 Macro: Projects a point from the scene onto the image.

Gan_Bool gan_camera_project_point_q (Gan_Camera *camera, Gan_Vector3 *X, Gan_Vector3 *p)
 Macro: Projects a point from the scene onto the image.

Gan_Bool gan_camera_project_point_i (Gan_Camera *camera, Gan_Vector3 *X)
 Macro: Projects a point from the scene onto the image.

Gan_Bool gan_camera_backproject_point (Gan_Camera *camera, Gan_Vector3 *p, Gan_Vector3 *X, int *error_code)
 Macro: Back-projects an image point into the scene.

Gan_Bool gan_camera_backproject_point_q (Gan_Camera *camera, Gan_Vector3 *p, Gan_Vector3 *X)
 Macro: Back-projects an image point into the scene.

Gan_Bool gan_camera_backproject_point_i (Gan_Camera *camera, Gan_Vector3 *p)
 Macro: Back-projects an image point into the scene.

Gan_Bool gan_camera_add_distortion (Gan_Camera *camera, Gan_Vector3 *pu, Gan_Vector3 *p, int *error_code)
 Macro: Applies non-linear distortion to an image point.

Gan_Bool gan_camera_add_distortion_q (Gan_Camera *camera, Gan_Vector3 *pu, Gan_Vector3 *p)
 Macro: Applies non-linear distortion to an image point.

Gan_Bool gan_camera_add_distortion_i (Gan_Camera *camera, Gan_Vector3 *p)
 Macro: Applies non-linear distortion to an image point.

Gan_Bool gan_camera_remove_distortion (Gan_Camera *camera, Gan_Vector3 *p, Gan_Vector3 *pu, int *error_code)
 Macro: Removes non-linear distortion from an image point.

Gan_Bool gan_camera_remove_distortion_q (Gan_Camera *camera, Gan_Vector3 *p, Gan_Vector3 *pu)
 Macro: Removes non-linear distortion from an image point.

Gan_Bool gan_camera_remove_distortion_i (Gan_Camera *camera, Gan_Vector3 *p)
 Macro: Removes non-linear distortion from an image point.

Gan_Bool gan_camera_project_line_q (Gan_Camera *camera, Gan_Vector3 *L, Gan_Vector3 *l)
 Macro: Projects a line from the scene onto the image.

Gan_Bool gan_camera_project_line_i (Gan_Camera *camera, Gan_Vector3 *L)
 Macro: Projects a line from the scene onto the image.

Gan_Bool gan_camera_backproject_line_q (Gan_Camera *camera, Gan_Vector3 *l, Gan_Vector3 *L)
 Macro: Back-projects an image line into the scene.

Gan_Bool gan_camera_backproject_line_i (Gan_Camera *camera, Gan_Vector3 *l)
 Macro: Back-projects an image line into the scene.


Detailed Description

Module: Camera definitions and building functions

Part of: Gandalf Library

Revision: Last edited: Author:

Copyright: (c) 2000 Imagineer Software Limited


Function Documentation

Gan_Bool gan_camera_build_va Gan_Camera   camera,
Gan_CameraType    type,
double    zh,
double    fx,
double    fy,
double    x0,
double    y0,
...   
 

Constructs a structure representing a camera.

Parameters:
camera Pointer to the camera structure to be filled
type Type of camera e.g. GAN_LINEAR_CAMERA
zh Third homogeneous image coordinate
fx Focal distance measured in x-pixels
fy Focal distance measured in y-pixels
x0 x-coordinate of image centre
y0 y-coordinate of image centre
... Extra arguments depending on camera type
Returns:
GAN_TRUE on successfully building camera structure, GAN_FALSE on failure.
Constructs a structure representing a camera.

See also:
gan_cameraf_build_va().

Gan_SquMatrix33 gan_camera_fill_matrix_s Gan_Camera   camera
 

Fills and returns a 3x3 upper triangular camera matrix.

Parameters:
camera Pointer to the camera structure to be read
Fills and returns a 3x3 upper triangular camera matrix using the linear parameters of the provided camera. Gandalf only stores lower triangular matrices explicitly, so the transpose camera matrix is actually returned.

Double precision version of gan_cameraf_fill_matrix_q().

Returns:
The filled 3x3 upper triangular matrix.

Gan_Bool gan_camera_internalize Gan_Camera   camera
 

Builds the internals of a camera.

Parameters:
camera Pointer to the camera structure to be filled
Returns:
GAN_TRUE on successfully internalising camera structure, GAN_FALSE on failure.
Builds the internal thresholds and callbacks of a camera given that the type and parameters have already been set.

See also:
gan_cameraf_internalize().

Gan_Bool gan_camera_set_gamma Gan_Camera   camera,
double    gamma
 

Sets the gamma for images taken with this camera.

Parameters:
camera Pointer to the camera structure
gamma The new gamma value
Sets the gamma for images taken with this camera. The default value is one, set when the camera structure was built. This is the double precision version of the function.

Returns:
GAN_TRUE on successfully setting the gamma, GAN_FALSE on failure.


Generated on Mon Oct 13 16:14:40 2003 by doxygen1.3-rc1