Berkeley SfM
Public Member Functions | Public Attributes | List of all members
bsfm::FundamentalMatrixRansacModel Struct Reference

#include <fundamental_matrix_ransac_problem.h>

Inheritance diagram for bsfm::FundamentalMatrixRansacModel:
bsfm::RansacModel< FeatureMatch >

Public Member Functions

 FundamentalMatrixRansacModel ()
 
virtual ~FundamentalMatrixRansacModel ()
 
 FundamentalMatrixRansacModel (const Matrix3d &F)
 
virtual double Error () const
 
virtual bool IsGoodFit (const FeatureMatch &data_point, double error_tolerance)
 
double EvaluateEpipolarCondition (const FeatureMatch &match) const
 
- Public Member Functions inherited from bsfm::RansacModel< FeatureMatch >
 RansacModel ()
 
virtual ~RansacModel ()
 

Public Attributes

Matrix3d F_
 
double error_
 

Detailed Description

Definition at line 62 of file fundamental_matrix_ransac_problem.h.

Constructor & Destructor Documentation

bsfm::FundamentalMatrixRansacModel::FundamentalMatrixRansacModel ( )
bsfm::FundamentalMatrixRansacModel::~FundamentalMatrixRansacModel ( )
virtual

Definition at line 71 of file fundamental_matrix_ransac_problem.cpp.

71 {}
bsfm::FundamentalMatrixRansacModel::FundamentalMatrixRansacModel ( const Matrix3d &  F)

Member Function Documentation

double bsfm::FundamentalMatrixRansacModel::Error ( ) const
virtual
double bsfm::FundamentalMatrixRansacModel::EvaluateEpipolarCondition ( const FeatureMatch match) const

Definition at line 91 of file fundamental_matrix_ransac_problem.cpp.

92  {
93  // Construct vectors for 2D keypoints in match.
94  Vector3d kp1, kp2;
95  kp1 << match.feature1_.u_, match.feature1_.v_, 1;
96  kp2 << match.feature2_.u_, match.feature2_.v_, 1;
97 
98  // Compute deviation from the epipolar condition.
99  const double epipolar_condition = kp2.transpose() * F_ * kp1;
100  return epipolar_condition;
101 }
bool bsfm::FundamentalMatrixRansacModel::IsGoodFit ( const FeatureMatch data_point,
double  error_tolerance 
)
virtual

Implements bsfm::RansacModel< FeatureMatch >.

Definition at line 79 of file fundamental_matrix_ransac_problem.cpp.

81  {
82  const double error = EvaluateEpipolarCondition(data_point);
83 
84  // Test squared error against the provided tolerance.
85  if (error * error < error_tolerance) {
86  return true;
87  }
88  return false;
89 }
double EvaluateEpipolarCondition(const FeatureMatch &match) const

Member Data Documentation

double bsfm::FundamentalMatrixRansacModel::error_

Definition at line 81 of file fundamental_matrix_ransac_problem.h.

Matrix3d bsfm::FundamentalMatrixRansacModel::F_

Definition at line 80 of file fundamental_matrix_ransac_problem.h.


The documentation for this struct was generated from the following files: