Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
rtabmap::EpipolarGeometry Class Reference

#include <EpipolarGeometry.h>

Public Member Functions

bool check (const Signature *ssA, const Signature *ssB)
 
 EpipolarGeometry (const ParametersMap &parameters=ParametersMap())
 
int getMatchCountMinAccepted () const
 
double getRansacParam1 () const
 
double getRansacParam2 () const
 
void parseParameters (const ParametersMap &parameters)
 
void setMatchCountMinAccepted (int matchCountMinAccepted)
 
void setRansacParam1 (double ransacParam1)
 
void setRansacParam2 (double ransacParam2)
 
virtual ~EpipolarGeometry ()
 

Static Public Member Functions

static void findEpipolesFromF (const cv::Mat &fundamentalMatrix, cv::Vec3d &e1, cv::Vec3d &e2)
 
static cv::Mat findFFromCalibratedStereoCameras (double fx, double fy, double cx, double cy, double Tx, double Ty)
 
static cv::Mat findFFromWords (const std::list< std::pair< int, std::pair< cv::KeyPoint, cv::KeyPoint > > > &pairs, std::vector< uchar > &status, double ransacParam1=3.0, double ransacParam2=0.99)
 
static int findPairs (const std::map< int, cv::KeyPoint > &wordsA, const std::map< int, cv::KeyPoint > &wordsB, std::list< std::pair< int, std::pair< cv::KeyPoint, cv::KeyPoint > > > &pairs, bool ignoreNegativeIds=true)
 
static int findPairs (const std::multimap< int, cv::KeyPoint > &wordsA, const std::multimap< int, cv::KeyPoint > &wordsB, std::list< std::pair< int, std::pair< cv::KeyPoint, cv::KeyPoint > > > &pairs, bool ignoreNegativeIds=true)
 
static int findPairsAll (const std::multimap< int, cv::KeyPoint > &wordsA, const std::multimap< int, cv::KeyPoint > &wordsB, std::list< std::pair< int, std::pair< cv::KeyPoint, cv::KeyPoint > > > &pairs, bool ignoreNegativeIds=true)
 
static int findPairsUnique (const std::multimap< int, cv::KeyPoint > &wordsA, const std::multimap< int, cv::KeyPoint > &wordsB, std::list< std::pair< int, std::pair< cv::KeyPoint, cv::KeyPoint > > > &pairs, bool ignoreNegativeIds=true)
 
static cv::Mat findPFromE (const cv::Mat &E, const cv::Mat &x, const cv::Mat &xp)
 
static void findRTFromP (const cv::Mat &p, cv::Mat &r, cv::Mat &t)
 
static cv::Mat iterativeLinearLSTriangulation (cv::Point3d u, const cv::Matx34d &P, cv::Point3d u1, const cv::Matx34d &P1)
 
static cv::Mat linearLSTriangulation (cv::Point3d u, cv::Matx34d P, cv::Point3d u1, cv::Matx34d P1)
 
static double triangulatePoints (const cv::Mat &pt_set1, const cv::Mat &pt_set2, const cv::Mat &P, const cv::Mat &P1, pcl::PointCloud< pcl::PointXYZ >::Ptr &pointcloud, std::vector< double > &reproj_errors)
 

Private Attributes

int _matchCountMinAccepted
 
double _ransacParam1
 
double _ransacParam2
 

Detailed Description

Definition at line 44 of file EpipolarGeometry.h.

Constructor & Destructor Documentation

rtabmap::EpipolarGeometry::EpipolarGeometry ( const ParametersMap parameters = ParametersMap())

Definition at line 46 of file EpipolarGeometry.cpp.

rtabmap::EpipolarGeometry::~EpipolarGeometry ( )
virtual

Definition at line 54 of file EpipolarGeometry.cpp.

Member Function Documentation

bool rtabmap::EpipolarGeometry::check ( const Signature ssA,
const Signature ssB 
)

Definition at line 65 of file EpipolarGeometry.cpp.

void rtabmap::EpipolarGeometry::findEpipolesFromF ( const cv::Mat &  fundamentalMatrix,
cv::Vec3d &  e1,
cv::Vec3d &  e2 
)
static

Definition at line 100 of file EpipolarGeometry.cpp.

cv::Mat rtabmap::EpipolarGeometry::findFFromCalibratedStereoCameras ( double  fx,
double  fy,
double  cx,
double  cy,
double  Tx,
double  Ty 
)
static

Definition at line 387 of file EpipolarGeometry.cpp.

cv::Mat rtabmap::EpipolarGeometry::findFFromWords ( const std::list< std::pair< int, std::pair< cv::KeyPoint, cv::KeyPoint > > > &  pairs,
std::vector< uchar > &  status,
double  ransacParam1 = 3.0,
double  ransacParam2 = 0.99 
)
static

Definition at line 292 of file EpipolarGeometry.cpp.

int rtabmap::EpipolarGeometry::findPairs ( const std::map< int, cv::KeyPoint > &  wordsA,
const std::map< int, cv::KeyPoint > &  wordsB,
std::list< std::pair< int, std::pair< cv::KeyPoint, cv::KeyPoint > > > &  pairs,
bool  ignoreInvalidIds = true 
)
static

if a=[1 2 3 4 6], b=[1 2 4 5 6], results= [(1,1) (2,2) (4,4) (6,6)] realPairsCount = 4

Definition at line 413 of file EpipolarGeometry.cpp.

int rtabmap::EpipolarGeometry::findPairs ( const std::multimap< int, cv::KeyPoint > &  wordsA,
const std::multimap< int, cv::KeyPoint > &  wordsB,
std::list< std::pair< int, std::pair< cv::KeyPoint, cv::KeyPoint > > > &  pairs,
bool  ignoreInvalidIds = true 
)
static

if a=[1 2 3 4 6 6], b=[1 1 2 4 5 6 6], results= [(1,1a) (2,2) (4,4) (6a,6a) (6b,6b)] realPairsCount = 5

Definition at line 440 of file EpipolarGeometry.cpp.

int rtabmap::EpipolarGeometry::findPairsAll ( const std::multimap< int, cv::KeyPoint > &  wordsA,
const std::multimap< int, cv::KeyPoint > &  wordsB,
std::list< std::pair< int, std::pair< cv::KeyPoint, cv::KeyPoint > > > &  pairs,
bool  ignoreInvalidIds = true 
)
static

if a=[1 2 3 4 6 6], b=[1 1 2 4 5 6 6], results= [(1,1a) (1,1b) (2,2) (4,4) (6a,6a) (6a,6b) (6b,6a) (6b,6b)] realPairsCount = 5

Definition at line 506 of file EpipolarGeometry.cpp.

int rtabmap::EpipolarGeometry::findPairsUnique ( const std::multimap< int, cv::KeyPoint > &  wordsA,
const std::multimap< int, cv::KeyPoint > &  wordsB,
std::list< std::pair< int, std::pair< cv::KeyPoint, cv::KeyPoint > > > &  pairs,
bool  ignoreInvalidIds = true 
)
static

if a=[1 2 3 4 6 6], b=[1 1 2 4 5 6 6], results= [(2,2) (4,4)] realPairsCount = 5

Definition at line 472 of file EpipolarGeometry.cpp.

cv::Mat rtabmap::EpipolarGeometry::findPFromE ( const cv::Mat &  E,
const cv::Mat &  x,
const cv::Mat &  xp 
)
static

Definition at line 179 of file EpipolarGeometry.cpp.

void rtabmap::EpipolarGeometry::findRTFromP ( const cv::Mat &  p,
cv::Mat &  r,
cv::Mat &  t 
)
static

Definition at line 375 of file EpipolarGeometry.cpp.

int rtabmap::EpipolarGeometry::getMatchCountMinAccepted ( ) const
inline

Definition at line 52 of file EpipolarGeometry.h.

double rtabmap::EpipolarGeometry::getRansacParam1 ( ) const
inline

Definition at line 53 of file EpipolarGeometry.h.

double rtabmap::EpipolarGeometry::getRansacParam2 ( ) const
inline

Definition at line 54 of file EpipolarGeometry.h.

cv::Mat rtabmap::EpipolarGeometry::iterativeLinearLSTriangulation ( cv::Point3d  u,
const cv::Matx34d &  P,
cv::Point3d  u1,
const cv::Matx34d &  P1 
)
static

source = SfM toy library: https://github.com/royshil/SfM-Toy-Library From "Triangulation", Hartley, R.I. and Sturm, P., Computer vision and image understanding, 1997 return 4x1 double

Definition at line 578 of file EpipolarGeometry.cpp.

cv::Mat rtabmap::EpipolarGeometry::linearLSTriangulation ( cv::Point3d  u,
cv::Matx34d  P,
cv::Point3d  u1,
cv::Matx34d  P1 
)
static

source = SfM toy library: https://github.com/royshil/SfM-Toy-Library From "Triangulation", Hartley, R.I. and Sturm, P., Computer vision and image understanding, 1997 return 1x3 double

Definition at line 545 of file EpipolarGeometry.cpp.

void rtabmap::EpipolarGeometry::parseParameters ( const ParametersMap parameters)

Definition at line 58 of file EpipolarGeometry.cpp.

void rtabmap::EpipolarGeometry::setMatchCountMinAccepted ( int  matchCountMinAccepted)
inline

Definition at line 56 of file EpipolarGeometry.h.

void rtabmap::EpipolarGeometry::setRansacParam1 ( double  ransacParam1)
inline

Definition at line 57 of file EpipolarGeometry.h.

void rtabmap::EpipolarGeometry::setRansacParam2 ( double  ransacParam2)
inline

Definition at line 58 of file EpipolarGeometry.h.

double rtabmap::EpipolarGeometry::triangulatePoints ( const cv::Mat &  pt_set,
const cv::Mat &  pt_set1,
const cv::Mat &  P,
const cv::Mat &  P1,
pcl::PointCloud< pcl::PointXYZ >::Ptr &  pointcloud,
std::vector< double > &  reproj_errors 
)
static

source = SfM toy library: https://github.com/royshil/SfM-Toy-Library

Definition at line 630 of file EpipolarGeometry.cpp.

Member Data Documentation

int rtabmap::EpipolarGeometry::_matchCountMinAccepted
private

Definition at line 151 of file EpipolarGeometry.h.

double rtabmap::EpipolarGeometry::_ransacParam1
private

Definition at line 152 of file EpipolarGeometry.h.

double rtabmap::EpipolarGeometry::_ransacParam2
private

Definition at line 153 of file EpipolarGeometry.h.


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


rtabmap
Author(s): Mathieu Labbe
autogenerated on Wed Jun 5 2019 22:43:43