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 ransacReprojThreshold=3.0, double ransacConfidence=0.99)
 
template<typename T >
static int findPairs (const std::map< int, T > &wordsA, const std::map< int, T > &wordsB, std::list< std::pair< int, std::pair< T, T > > > &pairs, bool ignoreNegativeIds=true)
 
template<typename T >
static int findPairs (const std::multimap< int, T > &wordsA, const std::multimap< int, T > &wordsB, std::list< std::pair< int, std::pair< T, T > > > &pairs, bool ignoreNegativeIds=true)
 
template<typename T >
static int findPairsAll (const std::multimap< int, T > &wordsA, const std::multimap< int, T > &wordsB, std::list< std::pair< int, std::pair< T, T > > > &pairs, bool ignoreNegativeIds=true)
 
template<typename T >
static int findPairsUnique (const std::multimap< int, T > &wordsA, const std::multimap< int, T > &wordsB, std::list< std::pair< int, std::pair< T, T > > > &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 45 of file EpipolarGeometry.h.

Constructor & Destructor Documentation

◆ EpipolarGeometry()

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

Definition at line 46 of file EpipolarGeometry.cpp.

◆ ~EpipolarGeometry()

rtabmap::EpipolarGeometry::~EpipolarGeometry ( )
virtual

Definition at line 54 of file EpipolarGeometry.cpp.

Member Function Documentation

◆ check()

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

Definition at line 65 of file EpipolarGeometry.cpp.

◆ findEpipolesFromF()

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

Definition at line 106 of file EpipolarGeometry.cpp.

◆ findFFromCalibratedStereoCameras()

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

Definition at line 393 of file EpipolarGeometry.cpp.

◆ findFFromWords()

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

Definition at line 298 of file EpipolarGeometry.cpp.

◆ findPairs() [1/2]

template<typename T >
static int rtabmap::EpipolarGeometry::findPairs ( const std::map< int, T > &  wordsA,
const std::map< int, T > &  wordsB,
std::list< std::pair< int, std::pair< T, T > > > &  pairs,
bool  ignoreNegativeIds = true 
)
inlinestatic

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 96 of file EpipolarGeometry.h.

◆ findPairs() [2/2]

template<typename T >
static int rtabmap::EpipolarGeometry::findPairs ( const std::multimap< int, T > &  wordsA,
const std::multimap< int, T > &  wordsB,
std::list< std::pair< int, std::pair< T, T > > > &  pairs,
bool  ignoreNegativeIds = true 
)
inlinestatic

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 124 of file EpipolarGeometry.h.

◆ findPairsAll()

template<typename T >
static int rtabmap::EpipolarGeometry::findPairsAll ( const std::multimap< int, T > &  wordsA,
const std::multimap< int, T > &  wordsB,
std::list< std::pair< int, std::pair< T, T > > > &  pairs,
bool  ignoreNegativeIds = true 
)
inlinestatic

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 193 of file EpipolarGeometry.h.

◆ findPairsUnique()

template<typename T >
static int rtabmap::EpipolarGeometry::findPairsUnique ( const std::multimap< int, T > &  wordsA,
const std::multimap< int, T > &  wordsB,
std::list< std::pair< int, std::pair< T, T > > > &  pairs,
bool  ignoreNegativeIds = true 
)
inlinestatic

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 158 of file EpipolarGeometry.h.

◆ findPFromE()

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

Definition at line 185 of file EpipolarGeometry.cpp.

◆ findRTFromP()

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

Definition at line 381 of file EpipolarGeometry.cpp.

◆ getMatchCountMinAccepted()

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

Definition at line 53 of file EpipolarGeometry.h.

◆ getRansacParam1()

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

Definition at line 54 of file EpipolarGeometry.h.

◆ getRansacParam2()

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

Definition at line 55 of file EpipolarGeometry.h.

◆ iterativeLinearLSTriangulation()

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

◆ linearLSTriangulation()

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

◆ parseParameters()

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

Definition at line 58 of file EpipolarGeometry.cpp.

◆ setMatchCountMinAccepted()

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

Definition at line 57 of file EpipolarGeometry.h.

◆ setRansacParam1()

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

Definition at line 58 of file EpipolarGeometry.h.

◆ setRansacParam2()

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

Definition at line 59 of file EpipolarGeometry.h.

◆ triangulatePoints()

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

Member Data Documentation

◆ _matchCountMinAccepted

int rtabmap::EpipolarGeometry::_matchCountMinAccepted
private

Definition at line 244 of file EpipolarGeometry.h.

◆ _ransacParam1

double rtabmap::EpipolarGeometry::_ransacParam1
private

Definition at line 245 of file EpipolarGeometry.h.

◆ _ransacParam2

double rtabmap::EpipolarGeometry::_ransacParam2
private

Definition at line 246 of file EpipolarGeometry.h.


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


rtabmap
Author(s): Mathieu Labbe
autogenerated on Thu Jul 25 2024 02:50:27