Public Member Functions | Static Public Member Functions | Private Attributes
rtabmap::EpipolarGeometry Class Reference

#include <EpipolarGeometry.h>

List of all members.

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)
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)
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)
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)
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

Definition at line 46 of file EpipolarGeometry.cpp.

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 
) [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 
) [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 436 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 
) [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 494 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 
) [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 464 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.

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 562 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 529 of file EpipolarGeometry.cpp.

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 614 of file EpipolarGeometry.cpp.


Member Data Documentation

Definition at line 147 of file EpipolarGeometry.h.

Definition at line 148 of file EpipolarGeometry.h.

Definition at line 149 of file EpipolarGeometry.h.


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


rtabmap
Author(s): Mathieu Labbe
autogenerated on Sat Jul 23 2016 11:44:32