![]() |
SLProject 4.0.000
|
AR Keyframe node class. More...
#include <WAIKeyFrame.h>
Public Member Functions | |
| WAIKeyFrame (const cv::Mat &Tcw, unsigned long id, bool fixKF, float fx, float fy, float cx, float cy, size_t N, const std::vector< cv::KeyPoint > &vKeysUn, const cv::Mat &descriptors, WAIOrbVocabulary *vocabulary, int nScaleLevels, float fScaleFactor, const std::vector< float > &vScaleFactors, const std::vector< float > &vLevelSigma2, const std::vector< float > &vInvLevelSigma2, int nMinX, int nMinY, int nMaxX, int nMaxY, const cv::Mat &KB) | |
| keyframe generation during map loading More... | |
| WAIKeyFrame (WAIFrame &F, bool retainImg=true) | |
| keyframe generation from frame More... | |
| void | SetPose (const cv::Mat &Tcw) |
| cv::Mat | GetPose () |
| cv::Mat | GetPoseInverse () |
| cv::Mat | GetCameraCenter () |
| cv::Mat | GetRotation () |
| cv::Mat | GetTranslation () |
| void | ComputeBoW (WAIOrbVocabulary *vocabulary) |
| void | SetBowVector (WAIBowVector &bow) |
| void | AddConnection (WAIKeyFrame *pKF, int weight) |
| void | EraseConnection (WAIKeyFrame *pKF) |
| void | FindAndUpdateConnections (bool buildSpanningTree=true) |
| void | UpdateConnections (std::map< WAIKeyFrame *, int > KFcounter, bool buildSpanningTree) |
| void | UpdateBestCovisibles () |
| std::set< WAIKeyFrame * > | GetConnectedKeyFrames () |
| std::vector< WAIKeyFrame * > | GetVectorCovisibleKeyFrames () |
| std::vector< WAIKeyFrame * > | GetBestCovisibilityKeyFrames (const int &N) |
| std::vector< WAIKeyFrame * > | GetCovisiblesByWeight (const int &w) |
| int | GetWeight (WAIKeyFrame *pKF) |
| const std::map< WAIKeyFrame *, int > & | GetConnectedKfWeights () |
| void | AddChild (WAIKeyFrame *pKF) |
| void | EraseChild (WAIKeyFrame *pKF) |
| void | ChangeParent (WAIKeyFrame *pKF) |
| std::set< WAIKeyFrame * > | GetChilds () |
| WAIKeyFrame * | GetParent () |
| bool | hasChild (WAIKeyFrame *pKF) |
| void | AddLoopEdge (WAIKeyFrame *pKF) |
| std::set< WAIKeyFrame * > | GetLoopEdges () |
| void | AddMapPoint (WAIMapPoint *pMP, size_t idx) |
| void | EraseMapPointMatch (WAIMapPoint *pMP) |
| void | EraseMapPointMatch (const size_t &idx) |
| void | ReplaceMapPointMatch (const size_t &idx, WAIMapPoint *pMP) |
| std::set< WAIMapPoint * > | GetMapPoints () |
| std::vector< WAIMapPoint * > | GetMapPointMatches () |
| int | TrackedMapPoints (const int &minObs) |
| WAIMapPoint * | GetMapPoint (const size_t &idx) |
| bool | hasMapPoint (WAIMapPoint *mp) |
| bool | isFixed () const |
| std::vector< size_t > | GetFeaturesInArea (const float &x, const float &y, const float &r) const |
| bool | IsInImage (const float &x, const float &y) const |
| void | SetNotErase () |
| void | SetErase () |
| void | SetBadFlag () |
| bool | isBad () |
| bool | findChildRecursive (WAIKeyFrame *kf) |
| float | ComputeSceneMedianDepth (const int q) |
| size_t | getSizeOfCvMat (const cv::Mat &mat) |
| size_t | getSizeOf () |
| void | setTexturePath (const std::string &path) |
| const std::string & | getTexturePath () |
| cv::Mat | getObjectMatrix () |
| get visual representation as SLPoints More... | |
Static Public Member Functions | |
| static bool | weightComp (int a, int b) |
| static bool | lId (WAIKeyFrame *pKF1, WAIKeyFrame *pKF2) |
Public Attributes | |
| long unsigned int | mnId |
| const long unsigned int | mnFrameId |
| const double | mTimeStamp |
| const bool | _fixed = false |
| const int | mnGridCols |
| const int | mnGridRows |
| const float | mfGridElementWidthInv |
| const float | mfGridElementHeightInv |
| long unsigned int | mnMarker [7] |
| long unsigned int | mnLoopQuery = 0 |
| int | mnLoopWords = 0 |
| float | mLoopScore = -1.0 |
| long unsigned int | mnRelocQuery = 0 |
| int | mnRelocWords = 0 |
| float | mRelocScore = -1.0f |
| cv::Mat | mTcwGBA |
| cv::Mat | mTcwRefGBA |
| const float | fx |
| const float | fy |
| const float | cx |
| const float | cy |
| const float | invfx |
| const float | invfy |
| const int | N = 0 |
| const std::vector< cv::KeyPoint > | mvKeysUn |
| const cv::Mat | mDescriptors |
| WAIBowVector | mBowVec |
| WAIFeatVector | mFeatVec |
| cv::Mat | mTcp |
| const int | mnScaleLevels |
| const float | mfScaleFactor |
| const float | mfLogScaleFactor |
| const std::vector< float > | mvScaleFactors |
| const std::vector< float > | mvLevelSigma2 |
| const std::vector< float > | mvInvLevelSigma2 |
| const int | mnMinX |
| const int | mnMinY |
| const int | mnMaxX |
| const int | mnMaxY |
| const cv::Mat | mK |
| cv::Mat | imgGray |
| std::mutex | mMutexPose |
| std::mutex | mMutexConnections |
| std::mutex | mMutexFeatures |
Static Public Attributes | |
| static long unsigned int | nNextId = 0 |
Protected Attributes | |
| cv::Mat | _Twc |
| cv::Mat | _Tcw |
| cv::Mat | Ow |
| camera center More... | |
| std::vector< WAIMapPoint * > | mvpMapPoints |
| std::vector< std::size_t > | mGrid [FRAME_GRID_COLS][FRAME_GRID_ROWS] |
| std::map< WAIKeyFrame *, int > | mConnectedKeyFrameWeights |
| std::vector< WAIKeyFrame * > | mvpOrderedConnectedKeyFrames |
| std::vector< int > | mvOrderedWeights |
| bool | mbFirstConnection = true |
| WAIKeyFrame * | mpParent = NULL |
| std::set< WAIKeyFrame * > | mspChildrens |
| std::set< WAIKeyFrame * > | mspLoopEdges |
| bool | mbNotErase |
| bool | mbToBeErased |
| bool | mbBad |
Private Member Functions | |
| void | AssignFeaturesToGrid () |
| this is a function from Frame, but we need it here for map loading More... | |
| bool | PosInGrid (const cv::KeyPoint &kp, int &posX, int &posY) |
| this is a function from Frame, but we need it here for map loading More... | |
Private Attributes | |
| std::string | _pathToTexture |
AR Keyframe node class.
A Keyframe is a camera with a position and additional information about key- points that were found in this frame. It also contains descriptors for the found keypoints.
| WAIKeyFrame::WAIKeyFrame | ( | const cv::Mat & | Tcw, |
| unsigned long | id, | ||
| bool | fixKF, | ||
| float | fx, | ||
| float | fy, | ||
| float | cx, | ||
| float | cy, | ||
| size_t | N, | ||
| const std::vector< cv::KeyPoint > & | vKeysUn, | ||
| const cv::Mat & | descriptors, | ||
| WAIOrbVocabulary * | vocabulary, | ||
| int | nScaleLevels, | ||
| float | fScaleFactor, | ||
| const std::vector< float > & | vScaleFactors, | ||
| const std::vector< float > & | vLevelSigma2, | ||
| const std::vector< float > & | vInvLevelSigma2, | ||
| int | nMinX, | ||
| int | nMinY, | ||
| int | nMaxX, | ||
| int | nMaxY, | ||
| const cv::Mat & | KB | ||
| ) |
keyframe generation during map loading
load an existing keyframe (used during file load)
| WAIKeyFrame::WAIKeyFrame | ( | WAIFrame & | F, |
| bool | retainImg = true |
||
| ) |
keyframe generation from frame
| void WAIKeyFrame::AddChild | ( | WAIKeyFrame * | pKF | ) |
| void WAIKeyFrame::AddConnection | ( | WAIKeyFrame * | pKF, |
| int | weight | ||
| ) |
| void WAIKeyFrame::AddLoopEdge | ( | WAIKeyFrame * | pKF | ) |
| void WAIKeyFrame::AddMapPoint | ( | WAIMapPoint * | pMP, |
| size_t | idx | ||
| ) |
|
private |
this is a function from Frame, but we need it here for map loading
| void WAIKeyFrame::ChangeParent | ( | WAIKeyFrame * | pKF | ) |
| void WAIKeyFrame::ComputeBoW | ( | WAIOrbVocabulary * | vocabulary | ) |
| float WAIKeyFrame::ComputeSceneMedianDepth | ( | const int | q | ) |
| void WAIKeyFrame::EraseChild | ( | WAIKeyFrame * | pKF | ) |
| void WAIKeyFrame::EraseConnection | ( | WAIKeyFrame * | pKF | ) |
| void WAIKeyFrame::EraseMapPointMatch | ( | const size_t & | idx | ) |
| void WAIKeyFrame::EraseMapPointMatch | ( | WAIMapPoint * | pMP | ) |
| void WAIKeyFrame::FindAndUpdateConnections | ( | bool | buildSpanningTree = true | ) |
| bool WAIKeyFrame::findChildRecursive | ( | WAIKeyFrame * | kf | ) |
| vector< WAIKeyFrame * > WAIKeyFrame::GetBestCovisibilityKeyFrames | ( | const int & | N | ) |
| cv::Mat WAIKeyFrame::GetCameraCenter | ( | ) |
| std::set< WAIKeyFrame * > WAIKeyFrame::GetChilds | ( | ) |
| set< WAIKeyFrame * > WAIKeyFrame::GetConnectedKeyFrames | ( | ) |
| const std::map< WAIKeyFrame *, int > & WAIKeyFrame::GetConnectedKfWeights | ( | ) |
| vector< WAIKeyFrame * > WAIKeyFrame::GetCovisiblesByWeight | ( | const int & | w | ) |
| vector< size_t > WAIKeyFrame::GetFeaturesInArea | ( | const float & | x, |
| const float & | y, | ||
| const float & | r | ||
| ) | const |
| set< WAIKeyFrame * > WAIKeyFrame::GetLoopEdges | ( | ) |
| WAIMapPoint * WAIKeyFrame::GetMapPoint | ( | const size_t & | idx | ) |
| vector< WAIMapPoint * > WAIKeyFrame::GetMapPointMatches | ( | ) |
| set< WAIMapPoint * > WAIKeyFrame::GetMapPoints | ( | ) |
| cv::Mat WAIKeyFrame::getObjectMatrix | ( | ) |
get visual representation as SLPoints
| WAIKeyFrame * WAIKeyFrame::GetParent | ( | ) |
| cv::Mat WAIKeyFrame::GetPose | ( | ) |
| cv::Mat WAIKeyFrame::GetPoseInverse | ( | ) |
| cv::Mat WAIKeyFrame::GetRotation | ( | ) |
| size_t WAIKeyFrame::getSizeOf | ( | ) |
| size_t WAIKeyFrame::getSizeOfCvMat | ( | const cv::Mat & | mat | ) |
|
inline |
| cv::Mat WAIKeyFrame::GetTranslation | ( | ) |
| vector< WAIKeyFrame * > WAIKeyFrame::GetVectorCovisibleKeyFrames | ( | ) |
| int WAIKeyFrame::GetWeight | ( | WAIKeyFrame * | pKF | ) |
| bool WAIKeyFrame::hasChild | ( | WAIKeyFrame * | pKF | ) |
| bool WAIKeyFrame::hasMapPoint | ( | WAIMapPoint * | mp | ) |
| bool WAIKeyFrame::isBad | ( | ) |
| bool WAIKeyFrame::isFixed | ( | ) | const |
| bool WAIKeyFrame::IsInImage | ( | const float & | x, |
| const float & | y | ||
| ) | const |
|
inlinestatic |
|
private |
this is a function from Frame, but we need it here for map loading
| void WAIKeyFrame::ReplaceMapPointMatch | ( | const size_t & | idx, |
| WAIMapPoint * | pMP | ||
| ) |
| void WAIKeyFrame::SetBadFlag | ( | ) |
| void WAIKeyFrame::SetBowVector | ( | WAIBowVector & | bow | ) |
| void WAIKeyFrame::SetErase | ( | ) |
| void WAIKeyFrame::SetNotErase | ( | ) |
| void WAIKeyFrame::SetPose | ( | const cv::Mat & | Tcw | ) |
|
inline |
| int WAIKeyFrame::TrackedMapPoints | ( | const int & | minObs | ) |
| void WAIKeyFrame::UpdateBestCovisibles | ( | ) |
| void WAIKeyFrame::UpdateConnections | ( | std::map< WAIKeyFrame *, int > | KFcounter, |
| bool | buildSpanningTree | ||
| ) |
|
inlinestatic |
| const bool WAIKeyFrame::_fixed = false |
|
private |
|
protected |
|
protected |
opencv coordinate representation: z-axis points to principlal point, x-axis to the right and y-axis down Infos about the pose: https://github.com/raulmur/ORB_SLAM2/issues/249
| const float WAIKeyFrame::cx |
| const float WAIKeyFrame::cy |
| const float WAIKeyFrame::fx |
| const float WAIKeyFrame::fy |
| cv::Mat WAIKeyFrame::imgGray |
| const float WAIKeyFrame::invfx |
| const float WAIKeyFrame::invfy |
|
protected |
|
protected |
|
protected |
| WAIBowVector WAIKeyFrame::mBowVec |
|
protected |
|
protected |
| const cv::Mat WAIKeyFrame::mDescriptors |
| WAIFeatVector WAIKeyFrame::mFeatVec |
| const float WAIKeyFrame::mfGridElementHeightInv |
| const float WAIKeyFrame::mfGridElementWidthInv |
| const float WAIKeyFrame::mfLogScaleFactor |
| const float WAIKeyFrame::mfScaleFactor |
|
protected |
| const cv::Mat WAIKeyFrame::mK |
| float WAIKeyFrame::mLoopScore = -1.0 |
| std::mutex WAIKeyFrame::mMutexConnections |
| std::mutex WAIKeyFrame::mMutexFeatures |
| std::mutex WAIKeyFrame::mMutexPose |
| const long unsigned int WAIKeyFrame::mnFrameId |
| const int WAIKeyFrame::mnGridCols |
| const int WAIKeyFrame::mnGridRows |
| long unsigned int WAIKeyFrame::mnId |
| long unsigned int WAIKeyFrame::mnLoopQuery = 0 |
| int WAIKeyFrame::mnLoopWords = 0 |
| long unsigned int WAIKeyFrame::mnMarker[7] |
| const int WAIKeyFrame::mnMaxX |
| const int WAIKeyFrame::mnMaxY |
| const int WAIKeyFrame::mnMinX |
| const int WAIKeyFrame::mnMinY |
| long unsigned int WAIKeyFrame::mnRelocQuery = 0 |
| int WAIKeyFrame::mnRelocWords = 0 |
| const int WAIKeyFrame::mnScaleLevels |
|
protected |
| float WAIKeyFrame::mRelocScore = -1.0f |
|
protected |
|
protected |
| cv::Mat WAIKeyFrame::mTcp |
| cv::Mat WAIKeyFrame::mTcwGBA |
| cv::Mat WAIKeyFrame::mTcwRefGBA |
| const double WAIKeyFrame::mTimeStamp |
| const std::vector<float> WAIKeyFrame::mvInvLevelSigma2 |
| const std::vector<cv::KeyPoint> WAIKeyFrame::mvKeysUn |
| const std::vector<float> WAIKeyFrame::mvLevelSigma2 |
|
protected |
|
protected |
|
protected |
| const std::vector<float> WAIKeyFrame::mvScaleFactors |
| const int WAIKeyFrame::N = 0 |
|
static |
This file is part of ORB-SLAM2.
Copyright (C) 2014-2016 Ra�l Mur-Artal <raulmur at unizar dot es> (University of Zaragoza) For more information see https://github.com/raulmur/ORB_SLAM2
ORB-SLAM2 is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
ORB-SLAM2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with ORB-SLAM2. If not, see http://www.gnu.org/licenses/.
|
protected |
camera center