2 #ifndef vpgl_em_compute_5_point_h_ 3 #define vpgl_em_compute_5_point_h_ 17 # include <vcl_msvc_warnings.h> 75 std::vector<vnl_real_npolynomial> &constraints)
const;
78 const std::vector<vnl_real_npolynomial> &constraints,
92 unsigned int x_p,
unsigned int y_p,
unsigned int z_p)
const;
121 #endif // vpgl_em_compute_5_point_h_ A class for the essential matrix between two projective cameras.
void compute_nullspace_basis(const std::vector< vgl_point_2d< T > > &right_points, const std::vector< vgl_point_2d< T > > &left_points, std::vector< vnl_vector_fixed< T, 9 > > &basis) const
Constructs the 5x9 epipolar constraint matrix based off the constraint that q1' * E * q2 = 0,...
vpgl_em_compute_5_point(bool v)
void compute_groebner_basis(const std::vector< vnl_real_npolynomial > &constraints, vnl_matrix< double > &groebner_basis) const
vpgl_em_compute_5_point_ransac()
A class representing the "K" matrix of a perspective camera matrix as described in.
const unsigned num_rounds
double get_coeff(const vnl_real_npolynomial &p, unsigned int x_p, unsigned int y_p, unsigned int z_p) const
Returns the coefficient of a term of a vnl_real_npolynomial in three variables with an x power of x_p...
bool compute(std::vector< vgl_point_2d< T > > const &right_points, vpgl_calibration_matrix< T > const &right_k, std::vector< vgl_point_2d< T > > const &left_points, vpgl_calibration_matrix< T > const &left_k, vpgl_essential_matrix< T > &best_em) const
vpgl_em_compute_5_point(bool v, double t)
void compute_constraint_polynomials(const std::vector< vnl_vector_fixed< T, 9 > > &basis, std::vector< vnl_real_npolynomial > &constraints) const
Finds 10 constraint polynomials, based on the following criteria: if X, Y, Z and W are the basis vect...
void normalize(const std::vector< vgl_point_2d< T > > &points, const vpgl_calibration_matrix< T > &k, std::vector< vgl_point_2d< T > > &normed_points) const
Normalization is the process of left-multiplying by the inverse of the calibration matrix.
void compute_action_matrix(const vnl_matrix< double > &groebner_basis, vnl_matrix< double > &action_matrix) const
void compute_e_matrices(const std::vector< vnl_vector_fixed< T, 9 > > &basis, const vnl_matrix< double > &action_matrix, std::vector< vpgl_essential_matrix< T > > &ems) const
vpgl_em_compute_5_point()
const double inlier_threshold
bool compute(const std::vector< vgl_point_2d< T > > &normed_right_points, const std::vector< vgl_point_2d< T > > &normed_left_points, std::vector< vpgl_essential_matrix< T > > &ems) const
Compute from two sets of corresponding points.
vpgl_em_compute_5_point_ransac(unsigned nr, double trsh, bool v)
A class for the calibration matrix component of a perspective camera matrix.