Main Page   Modules   Compound List   File List   Compound Members   File Members  

homog33_fit.h File Reference

#include <gandalf/linalg/3vector.h>
#include <gandalf/linalg/3x3matrix.h>
#include <gandalf/linalg/mat_square.h>
#include <gandalf/linalg/symmat_eigen.h>

Go to the source code of this file.

Compounds

struct  Gan_Homog33Match
 Structure to hold details of scene and image data to be used in computing 2D homographies. More...


Enumerations

enum  Gan_Homog33MatchType { GAN_HOMOG33_POINT, GAN_HOMOG33_LINE, GAN_HOMOG33_LINE_ENDPOINTS, GAN_HOMOG33_IGNORE }
 Type of matching feature when computing 2D homography. More...


Functions

Gan_SymMatEigenStructgan_homog33_init (Gan_SymMatEigenStruct *sme)
 Macro: Initialises the calculation of a 3x3 homography.

void gan_homog33_free (Gan_SymMatEigenStruct *sme)
 Macro: Frees the structure used to calculate a 3x3 homography.

Gan_Bool gan_homog33_increment_p (Gan_SymMatEigenStruct *sme, Gan_Vector3 *X, Gan_Vector3 *x, double scale, int *eq_count)
 Increments the calculation of a 3x3 homography for a point.

Gan_Bool gan_homog33_increment_l (Gan_SymMatEigenStruct *sme, Gan_Vector3 *L, Gan_Vector3 *l, double scale, int *eq_count)
 Increments the calculation of a 3x3 homography for a line.

Gan_Bool gan_homog33_increment_le (Gan_SymMatEigenStruct *sme, Gan_Vector3 *X, Gan_Vector3 *l, double scale, int *eq_count)
 Increments the calculation of a 3x3 homography for a line.

Gan_Bool gan_homog33_solve (Gan_SymMatEigenStruct *sme, int eq_count, Gan_Matrix33 *P)
 Solves for the 3x3 homography between two planes.

Gan_Bool gan_homog33_fit (Gan_Homog33Match *match, unsigned nmatches, Gan_Matrix33 *H)
 Computes a 3x3 homography between two planes.

Gan_Bool gan_homog33_reset (Gan_SymMatEigenStruct *sme)
 Macro: Resets the structure used to calculate a 3x3 homography.


Detailed Description

Module: Fit a 2D projective transformation to point/line data

Part of: Gandalf Library

Revision: Last edited: Author:

Copyright: (c) 2000 Imagineer Software Limited


Function Documentation

Gan_Bool gan_homog33_fit Gan_Homog33Match   match,
unsigned    nmatches,
Gan_Matrix33   H
 

Computes a 3x3 homography between two planes.

Parameters:
match An array of point/line matches
nmatches The number of point/line matches unsigned nmatches
H The homography to be computed
Returns:
GAN_TRUE on success, GAN_FALSE on failure.
Solves for the homography between two planes, given point <--> point, line <--> line and point <--> line correspondences between the two planes, as given by the data array.

See also:
gan_homog33_increment_l().

Gan_Bool gan_homog33_increment_l Gan_SymMatEigenStruct   sme,
Gan_Vector3   L,
Gan_Vector3   l,
double    scale,
int *    eq_count
 

Increments the calculation of a 3x3 homography for a line.

Parameters:
sme A pointer to a symmetric eigensystem structure
L A line in the source coordinate frame for the homography
l A line in the destination coordinate frame
scale A scaling on the outer product of L and l
eq_count A pointer to the total number of equations or NULL
Returns:
GAN_TRUE on success, GAN_FALSE on failure.
Increments the accumulated sum of outer products of vectors to be used to compute the homography between two projective 2D planes, given a line correspondence between the planes.

See also:
gan_homog33_increment_p().

Gan_Bool gan_homog33_increment_le Gan_SymMatEigenStruct   sme,
Gan_Vector3   X,
Gan_Vector3   l,
double    scale,
int *    eq_count
 

Increments the calculation of a 3x3 homography for a line.

Parameters:
sme A pointer to a symmetric eigensystem structure
X A point in the source coordinate frame for the homography
l A line in the destination coordinate frame
scale A scaling on the outer product of #X & #l
eq_count Pointer to the total number of equations or NULL
Returns:
GAN_TRUE on success, GAN_FALSE on failure.
Increments the accumulated sum of outer products of vectors to be used to compute the homography between two projective 2D planes, given a point in one plane lying in a line in the other.

See also:
gan_homog33_increment_l().

Gan_Bool gan_homog33_increment_p Gan_SymMatEigenStruct   sme,
Gan_Vector3   X,
Gan_Vector3   x,
double    scale,
int *    eq_count
 

Increments the calculation of a 3x3 homography for a point.

Parameters:
sme A pointer to a symmetric eigensystem structure
X A point in the source coordinate frame for the homography
x A point in the destination coordinate frame
scale A scaling on the outer product of X and x
eq_count A pointer to the total number of equations or NULL
Returns:
GAN_TRUE success, GAN_FALSE failure.
Increments the accumulated sum of outer products of vectors to be used to compute the homography between two projective 2D planes, given a point correspondence between the planes.

See also:
gan_homog33_increment_l().

Gan_Bool gan_homog33_solve Gan_SymMatEigenStruct   sme,
int    eq_count,
Gan_Matrix33   P
 

Solves for the 3x3 homography between two planes.

Parameters:
sme A pointer to a symmetric eigensystem structure
eq_count Pointer to the total number of equations or NULL
P The homography matrix
Returns:
GAN_TRUE on success, GAN_FALSE on failure.
Solves for the 3x3 homography between two planes, having accumulated point/line correspondences.

See also:
gan_homog33_increment_l().


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