OpenCV  3.3.0-dev
Open Source Computer Vision
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ORB_SLAM2::Sim3Solver Class Reference

#include "Sim3Solver.h"

Public Member Functions

 Sim3Solver (KeyFrame *pKF1, KeyFrame *pKF2, const std::vector< MapPoint *> &vpMatched12, const bool bFixScale=true)
 
cv::Mat find (std::vector< bool > &vbInliers12, int &nInliers)
 
cv::Mat GetEstimatedRotation ()
 
float GetEstimatedScale ()
 
cv::Mat GetEstimatedTranslation ()
 
cv::Mat iterate (int nIterations, bool &bNoMore, std::vector< bool > &vbInliers, int &nInliers)
 
void SetRansacParameters (double probability=0.99, int minInliers=6, int maxIterations=300)
 

Protected Member Functions

void CheckInliers ()
 
void ComputeCentroid (cv::Mat &P, cv::Mat &Pr, cv::Mat &C)
 
void ComputeSim3 (cv::Mat &P1, cv::Mat &P2)
 
void FromCameraToImage (const std::vector< cv::Mat > &vP3Dc, std::vector< cv::Mat > &vP2D, cv::Mat K)
 
void Project (const std::vector< cv::Mat > &vP3Dw, std::vector< cv::Mat > &vP2D, cv::Mat Tcw, cv::Mat K)
 

Protected Attributes

cv::Mat mBestRotation
 
float mBestScale
 
cv::Mat mBestT12
 
cv::Mat mBestTranslation
 
bool mbFixScale
 
cv::Mat mK1
 
cv::Mat mK2
 
int mN1
 
int mnBestInliers
 
int mnInliersi
 
int mnIterations
 
KeyFramempKF1
 
KeyFramempKF2
 
cv::Mat mR12i
 
int mRansacMaxIts
 
int mRansacMinInliers
 
double mRansacProb
 
float ms12i
 
float mSigma2
 
cv::Mat mt12i
 
cv::Mat mT12i
 
cv::Mat mT21i
 
float mTh
 
std::vector< size_tmvAllIndices
 
std::vector< bool > mvbBestInliers
 
std::vector< bool > mvbInliersi
 
std::vector< size_tmvnIndices1
 
std::vector< size_tmvnMaxError1
 
std::vector< size_tmvnMaxError2
 
std::vector< cv::MatmvP1im1
 
std::vector< cv::MatmvP2im2
 
std::vector< MapPoint * > mvpMapPoints1
 
std::vector< MapPoint * > mvpMapPoints2
 
std::vector< MapPoint * > mvpMatches12
 
std::vector< size_tmvSigmaSquare1
 
std::vector< size_tmvSigmaSquare2
 
std::vector< cv::MatmvX3Dc1
 
std::vector< cv::MatmvX3Dc2
 
int N
 

Constructor & Destructor Documentation

◆ Sim3Solver()

ORB_SLAM2::Sim3Solver::Sim3Solver ( KeyFrame pKF1,
KeyFrame pKF2,
const std::vector< MapPoint *> &  vpMatched12,
const bool  bFixScale = true 
)

Member Function Documentation

◆ CheckInliers()

void ORB_SLAM2::Sim3Solver::CheckInliers ( )
protected

◆ ComputeCentroid()

void ORB_SLAM2::Sim3Solver::ComputeCentroid ( cv::Mat P,
cv::Mat Pr,
cv::Mat C 
)
protected

◆ ComputeSim3()

void ORB_SLAM2::Sim3Solver::ComputeSim3 ( cv::Mat P1,
cv::Mat P2 
)
protected

◆ find()

cv::Mat ORB_SLAM2::Sim3Solver::find ( std::vector< bool > &  vbInliers12,
int &  nInliers 
)

◆ FromCameraToImage()

void ORB_SLAM2::Sim3Solver::FromCameraToImage ( const std::vector< cv::Mat > &  vP3Dc,
std::vector< cv::Mat > &  vP2D,
cv::Mat  K 
)
protected

◆ GetEstimatedRotation()

cv::Mat ORB_SLAM2::Sim3Solver::GetEstimatedRotation ( )

◆ GetEstimatedScale()

float ORB_SLAM2::Sim3Solver::GetEstimatedScale ( )

◆ GetEstimatedTranslation()

cv::Mat ORB_SLAM2::Sim3Solver::GetEstimatedTranslation ( )

◆ iterate()

cv::Mat ORB_SLAM2::Sim3Solver::iterate ( int  nIterations,
bool &  bNoMore,
std::vector< bool > &  vbInliers,
int &  nInliers 
)

◆ Project()

void ORB_SLAM2::Sim3Solver::Project ( const std::vector< cv::Mat > &  vP3Dw,
std::vector< cv::Mat > &  vP2D,
cv::Mat  Tcw,
cv::Mat  K 
)
protected

◆ SetRansacParameters()

void ORB_SLAM2::Sim3Solver::SetRansacParameters ( double  probability = 0.99,
int  minInliers = 6,
int  maxIterations = 300 
)

Member Data Documentation

◆ mBestRotation

cv::Mat ORB_SLAM2::Sim3Solver::mBestRotation
protected

◆ mBestScale

float ORB_SLAM2::Sim3Solver::mBestScale
protected

◆ mBestT12

cv::Mat ORB_SLAM2::Sim3Solver::mBestT12
protected

◆ mBestTranslation

cv::Mat ORB_SLAM2::Sim3Solver::mBestTranslation
protected

◆ mbFixScale

bool ORB_SLAM2::Sim3Solver::mbFixScale
protected

◆ mK1

cv::Mat ORB_SLAM2::Sim3Solver::mK1
protected

◆ mK2

cv::Mat ORB_SLAM2::Sim3Solver::mK2
protected

◆ mN1

int ORB_SLAM2::Sim3Solver::mN1
protected

◆ mnBestInliers

int ORB_SLAM2::Sim3Solver::mnBestInliers
protected

◆ mnInliersi

int ORB_SLAM2::Sim3Solver::mnInliersi
protected

◆ mnIterations

int ORB_SLAM2::Sim3Solver::mnIterations
protected

◆ mpKF1

KeyFrame* ORB_SLAM2::Sim3Solver::mpKF1
protected

◆ mpKF2

KeyFrame* ORB_SLAM2::Sim3Solver::mpKF2
protected

◆ mR12i

cv::Mat ORB_SLAM2::Sim3Solver::mR12i
protected

◆ mRansacMaxIts

int ORB_SLAM2::Sim3Solver::mRansacMaxIts
protected

◆ mRansacMinInliers

int ORB_SLAM2::Sim3Solver::mRansacMinInliers
protected

◆ mRansacProb

double ORB_SLAM2::Sim3Solver::mRansacProb
protected

◆ ms12i

float ORB_SLAM2::Sim3Solver::ms12i
protected

◆ mSigma2

float ORB_SLAM2::Sim3Solver::mSigma2
protected

◆ mt12i

cv::Mat ORB_SLAM2::Sim3Solver::mt12i
protected

◆ mT12i

cv::Mat ORB_SLAM2::Sim3Solver::mT12i
protected

◆ mT21i

cv::Mat ORB_SLAM2::Sim3Solver::mT21i
protected

◆ mTh

float ORB_SLAM2::Sim3Solver::mTh
protected

◆ mvAllIndices

std::vector<size_t> ORB_SLAM2::Sim3Solver::mvAllIndices
protected

◆ mvbBestInliers

std::vector<bool> ORB_SLAM2::Sim3Solver::mvbBestInliers
protected

◆ mvbInliersi

std::vector<bool> ORB_SLAM2::Sim3Solver::mvbInliersi
protected

◆ mvnIndices1

std::vector<size_t> ORB_SLAM2::Sim3Solver::mvnIndices1
protected

◆ mvnMaxError1

std::vector<size_t> ORB_SLAM2::Sim3Solver::mvnMaxError1
protected

◆ mvnMaxError2

std::vector<size_t> ORB_SLAM2::Sim3Solver::mvnMaxError2
protected

◆ mvP1im1

std::vector<cv::Mat> ORB_SLAM2::Sim3Solver::mvP1im1
protected

◆ mvP2im2

std::vector<cv::Mat> ORB_SLAM2::Sim3Solver::mvP2im2
protected

◆ mvpMapPoints1

std::vector<MapPoint*> ORB_SLAM2::Sim3Solver::mvpMapPoints1
protected

◆ mvpMapPoints2

std::vector<MapPoint*> ORB_SLAM2::Sim3Solver::mvpMapPoints2
protected

◆ mvpMatches12

std::vector<MapPoint*> ORB_SLAM2::Sim3Solver::mvpMatches12
protected

◆ mvSigmaSquare1

std::vector<size_t> ORB_SLAM2::Sim3Solver::mvSigmaSquare1
protected

◆ mvSigmaSquare2

std::vector<size_t> ORB_SLAM2::Sim3Solver::mvSigmaSquare2
protected

◆ mvX3Dc1

std::vector<cv::Mat> ORB_SLAM2::Sim3Solver::mvX3Dc1
protected

◆ mvX3Dc2

std::vector<cv::Mat> ORB_SLAM2::Sim3Solver::mvX3Dc2
protected

◆ N

int ORB_SLAM2::Sim3Solver::N
protected

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