#include "mvl_five_point_camera_pencil.h"
#include <vcl_cmath.h>
#include <vnl/vnl_double_3.h>
#include <vnl/algo/vnl_svd.h>
Go to the source code of this file.
Functions | |
bool | mvl_five_point_camera_pencil (double const xs[5], double const ys[5], vnl_double_3x4 *A, vnl_double_3x4 *B) |
Given 5 image points, compute the pencil of cameras which map the canonical projective basis onto those points. | |
bool | mvl_five_point_camera_pencil_parameters (vnl_double_3x4 const &A, vnl_double_3x4 const &B, vnl_double_4 const &X, double u, double v, double st[2], double res[2]) |
Return the pair (s, t) such that the reprojection of X under P = s A + t B is closest to (u, v) in image coordinates. |
Definition in file mvl_five_point_camera_pencil.cxx.
bool mvl_five_point_camera_pencil | ( | double const | xs[5], |
double const | ys[5], | ||
vnl_double_3x4 * | A, | ||
vnl_double_3x4 * | B | ||
) |
Given 5 image points, compute the pencil of cameras which map the canonical projective basis onto those points.
The computed generators [A, B] are invariant to similarity transformations of the image coordinates. So there is no need to condition the given image points.
For full details consult "A Six Point Solution for Structure and Motion", by Schaffalitzky, Zisserman, Hartley and Torr in ECCV 2000.
Definition at line 15 of file mvl_five_point_camera_pencil.cxx.
bool mvl_five_point_camera_pencil_parameters | ( | vnl_double_3x4 const & | A, |
vnl_double_3x4 const & | B, | ||
vnl_double_4 const & | X, | ||
double | u, | ||
double | v, | ||
double | st[2], | ||
double | res[2] | ||
) |
Return the pair (s, t) such that the reprojection of X under P = s A + t B is closest to (u, v) in image coordinates.
The image residuals are returned in res[].
Definition at line 91 of file mvl_five_point_camera_pencil.cxx.