![]()  | 
  
    SLProject
    4.2.000
    
   A platform independent 3D computer graphics framework for desktop OS,  Android,  iOS and online in web browsers 
   | 
 
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.
Definition at line 59 of file WAIKeyFrame.h.
| 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)
Definition at line 40 of file WAIKeyFrame.cpp.
| WAIKeyFrame::WAIKeyFrame | ( | WAIFrame & | F, | 
| bool | retainImg = true  | 
        ||
| ) | 
keyframe generation from frame
Definition at line 121 of file WAIKeyFrame.cpp.
| void WAIKeyFrame::AddChild | ( | WAIKeyFrame * | pKF | ) | 
Definition at line 538 of file WAIKeyFrame.cpp.
| void WAIKeyFrame::AddConnection | ( | WAIKeyFrame * | pKF, | 
| int | weight | ||
| ) | 
Definition at line 265 of file WAIKeyFrame.cpp.
| void WAIKeyFrame::AddLoopEdge | ( | WAIKeyFrame * | pKF | ) | 
Definition at line 575 of file WAIKeyFrame.cpp.
| void WAIKeyFrame::AddMapPoint | ( | WAIMapPoint * | pMP, | 
| size_t | idx | ||
| ) | 
Definition at line 357 of file WAIKeyFrame.cpp.
      
  | 
  private | 
this is a function from Frame, but we need it here for map loading
Definition at line 857 of file WAIKeyFrame.cpp.
| void WAIKeyFrame::ChangeParent | ( | WAIKeyFrame * | pKF | ) | 
Definition at line 550 of file WAIKeyFrame.cpp.
| void WAIKeyFrame::ComputeBoW | ( | WAIOrbVocabulary * | vocabulary | ) | 
Definition at line 196 of file WAIKeyFrame.cpp.
| float WAIKeyFrame::ComputeSceneMedianDepth | ( | const int | q | ) | 
Definition at line 817 of file WAIKeyFrame.cpp.
| void WAIKeyFrame::EraseChild | ( | WAIKeyFrame * | pKF | ) | 
Definition at line 544 of file WAIKeyFrame.cpp.
| void WAIKeyFrame::EraseConnection | ( | WAIKeyFrame * | pKF | ) | 
Definition at line 754 of file WAIKeyFrame.cpp.
| void WAIKeyFrame::EraseMapPointMatch | ( | const size_t & | idx | ) | 
Definition at line 364 of file WAIKeyFrame.cpp.
| void WAIKeyFrame::EraseMapPointMatch | ( | WAIMapPoint * | pMP | ) | 
Definition at line 370 of file WAIKeyFrame.cpp.
| void WAIKeyFrame::FindAndUpdateConnections | ( | bool | buildSpanningTree = true | ) | 
Definition at line 437 of file WAIKeyFrame.cpp.
| bool WAIKeyFrame::findChildRecursive | ( | WAIKeyFrame * | kf | ) | 
Definition at line 730 of file WAIKeyFrame.cpp.
| vector< WAIKeyFrame * > WAIKeyFrame::GetBestCovisibilityKeyFrames | ( | const int & | N | ) | 
Definition at line 316 of file WAIKeyFrame.cpp.
| cv::Mat WAIKeyFrame::GetCameraCenter | ( | ) | 
Definition at line 247 of file WAIKeyFrame.cpp.
| std::set< WAIKeyFrame * > WAIKeyFrame::GetChilds | ( | ) | 
Definition at line 557 of file WAIKeyFrame.cpp.
| set< WAIKeyFrame * > WAIKeyFrame::GetConnectedKeyFrames | ( | ) | 
Definition at line 301 of file WAIKeyFrame.cpp.
| const std::map< WAIKeyFrame *, int > & WAIKeyFrame::GetConnectedKfWeights | ( | ) | 
Definition at line 351 of file WAIKeyFrame.cpp.
| vector< WAIKeyFrame * > WAIKeyFrame::GetCovisiblesByWeight | ( | const int & | w | ) | 
Definition at line 325 of file WAIKeyFrame.cpp.
| vector< size_t > WAIKeyFrame::GetFeaturesInArea | ( | const float & | x, | 
| const float & | y, | ||
| const float & | r | ||
| ) | const | 
Definition at line 770 of file WAIKeyFrame.cpp.
| set< WAIKeyFrame * > WAIKeyFrame::GetLoopEdges | ( | ) | 
Definition at line 582 of file WAIKeyFrame.cpp.
| WAIMapPoint * WAIKeyFrame::GetMapPoint | ( | const size_t & | idx | ) | 
Definition at line 431 of file WAIKeyFrame.cpp.
| vector< WAIMapPoint * > WAIKeyFrame::GetMapPointMatches | ( | ) | 
Definition at line 425 of file WAIKeyFrame.cpp.
| set< WAIMapPoint * > WAIKeyFrame::GetMapPoints | ( | ) | 
Definition at line 383 of file WAIKeyFrame.cpp.
| cv::Mat WAIKeyFrame::getObjectMatrix | ( | ) | 
| WAIKeyFrame * WAIKeyFrame::GetParent | ( | ) | 
Definition at line 563 of file WAIKeyFrame.cpp.
| cv::Mat WAIKeyFrame::GetPose | ( | ) | 
Definition at line 235 of file WAIKeyFrame.cpp.
| cv::Mat WAIKeyFrame::GetPoseInverse | ( | ) | 
Definition at line 241 of file WAIKeyFrame.cpp.
| cv::Mat WAIKeyFrame::GetRotation | ( | ) | 
Definition at line 253 of file WAIKeyFrame.cpp.
| size_t WAIKeyFrame::getSizeOf | ( | ) | 
Definition at line 902 of file WAIKeyFrame.cpp.
| size_t WAIKeyFrame::getSizeOfCvMat | ( | const cv::Mat & | mat | ) | 
Definition at line 889 of file WAIKeyFrame.cpp.
      
  | 
  inline | 
Definition at line 292 of file WAIKeyFrame.h.
| cv::Mat WAIKeyFrame::GetTranslation | ( | ) | 
Definition at line 259 of file WAIKeyFrame.cpp.
| vector< WAIKeyFrame * > WAIKeyFrame::GetVectorCovisibleKeyFrames | ( | ) | 
Definition at line 310 of file WAIKeyFrame.cpp.
| int WAIKeyFrame::GetWeight | ( | WAIKeyFrame * | pKF | ) | 
Definition at line 342 of file WAIKeyFrame.cpp.
| bool WAIKeyFrame::hasChild | ( | WAIKeyFrame * | pKF | ) | 
Definition at line 569 of file WAIKeyFrame.cpp.
| bool WAIKeyFrame::hasMapPoint | ( | WAIMapPoint * | mp | ) | 
Definition at line 925 of file WAIKeyFrame.cpp.
| bool WAIKeyFrame::isBad | ( | ) | 
Definition at line 748 of file WAIKeyFrame.cpp.
| bool WAIKeyFrame::isFixed | ( | ) | const | 
Definition at line 941 of file WAIKeyFrame.cpp.
| bool WAIKeyFrame::IsInImage | ( | const float & | x, | 
| const float & | y | ||
| ) | const | 
Definition at line 811 of file WAIKeyFrame.cpp.
      
  | 
  inlinestatic | 
Definition at line 163 of file WAIKeyFrame.h.
      
  | 
  private | 
this is a function from Frame, but we need it here for map loading
Definition at line 877 of file WAIKeyFrame.cpp.
| void WAIKeyFrame::ReplaceMapPointMatch | ( | const size_t & | idx, | 
| WAIMapPoint * | pMP | ||
| ) | 
Definition at line 378 of file WAIKeyFrame.cpp.
| void WAIKeyFrame::SetBadFlag | ( | ) | 
Definition at line 610 of file WAIKeyFrame.cpp.
| void WAIKeyFrame::SetBowVector | ( | WAIBowVector & | bow | ) | 
Definition at line 190 of file WAIKeyFrame.cpp.
| void WAIKeyFrame::SetErase | ( | ) | 
Definition at line 594 of file WAIKeyFrame.cpp.
| void WAIKeyFrame::SetNotErase | ( | ) | 
Definition at line 588 of file WAIKeyFrame.cpp.
| void WAIKeyFrame::SetPose | ( | const cv::Mat & | Tcw | ) | 
Definition at line 216 of file WAIKeyFrame.cpp.
      
  | 
  inline | 
Definition at line 291 of file WAIKeyFrame.h.
| int WAIKeyFrame::TrackedMapPoints | ( | const int & | minObs | ) | 
Definition at line 398 of file WAIKeyFrame.cpp.
| void WAIKeyFrame::UpdateBestCovisibles | ( | ) | 
Definition at line 280 of file WAIKeyFrame.cpp.
| void WAIKeyFrame::UpdateConnections | ( | std::map< WAIKeyFrame *, int > | KFcounter, | 
| bool | buildSpanningTree | ||
| ) | 
Definition at line 475 of file WAIKeyFrame.cpp.
      
  | 
  inlinestatic | 
Definition at line 158 of file WAIKeyFrame.h.
| const bool WAIKeyFrame::_fixed = false | 
Definition at line 181 of file WAIKeyFrame.h.
      
  | 
  private | 
Definition at line 308 of file WAIKeyFrame.h.
      
  | 
  protected | 
Definition at line 257 of file WAIKeyFrame.h.
      
  | 
  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
Definition at line 256 of file WAIKeyFrame.h.
| const float WAIKeyFrame::cx | 
Definition at line 214 of file WAIKeyFrame.h.
| const float WAIKeyFrame::cy | 
Definition at line 214 of file WAIKeyFrame.h.
| const float WAIKeyFrame::fx | 
Definition at line 214 of file WAIKeyFrame.h.
| const float WAIKeyFrame::fy | 
Definition at line 214 of file WAIKeyFrame.h.
| cv::Mat WAIKeyFrame::imgGray | 
Definition at line 248 of file WAIKeyFrame.h.
| const float WAIKeyFrame::invfx | 
Definition at line 214 of file WAIKeyFrame.h.
| const float WAIKeyFrame::invfy | 
Definition at line 214 of file WAIKeyFrame.h.
      
  | 
  protected | 
Definition at line 283 of file WAIKeyFrame.h.
      
  | 
  protected | 
Definition at line 275 of file WAIKeyFrame.h.
      
  | 
  protected | 
Definition at line 281 of file WAIKeyFrame.h.
| WAIBowVector WAIKeyFrame::mBowVec | 
Definition at line 226 of file WAIKeyFrame.h.
      
  | 
  protected | 
Definition at line 282 of file WAIKeyFrame.h.
      
  | 
  protected | 
Definition at line 269 of file WAIKeyFrame.h.
| const cv::Mat WAIKeyFrame::mDescriptors | 
Definition at line 223 of file WAIKeyFrame.h.
| WAIFeatVector WAIKeyFrame::mFeatVec | 
Definition at line 227 of file WAIKeyFrame.h.
| const float WAIKeyFrame::mfGridElementHeightInv | 
Definition at line 187 of file WAIKeyFrame.h.
| const float WAIKeyFrame::mfGridElementWidthInv | 
Definition at line 186 of file WAIKeyFrame.h.
| const float WAIKeyFrame::mfLogScaleFactor | 
Definition at line 235 of file WAIKeyFrame.h.
| const float WAIKeyFrame::mfScaleFactor | 
Definition at line 234 of file WAIKeyFrame.h.
      
  | 
  protected | 
Definition at line 266 of file WAIKeyFrame.h.
| const cv::Mat WAIKeyFrame::mK | 
Definition at line 245 of file WAIKeyFrame.h.
| float WAIKeyFrame::mLoopScore = -1.0 | 
Definition at line 204 of file WAIKeyFrame.h.
| std::mutex WAIKeyFrame::mMutexConnections | 
Definition at line 287 of file WAIKeyFrame.h.
| std::mutex WAIKeyFrame::mMutexFeatures | 
Definition at line 288 of file WAIKeyFrame.h.
| std::mutex WAIKeyFrame::mMutexPose | 
Definition at line 286 of file WAIKeyFrame.h.
| const long unsigned int WAIKeyFrame::mnFrameId | 
Definition at line 176 of file WAIKeyFrame.h.
| const int WAIKeyFrame::mnGridCols | 
Definition at line 184 of file WAIKeyFrame.h.
| const int WAIKeyFrame::mnGridRows | 
Definition at line 185 of file WAIKeyFrame.h.
| long unsigned int WAIKeyFrame::mnId | 
Definition at line 175 of file WAIKeyFrame.h.
| long unsigned int WAIKeyFrame::mnLoopQuery = 0 | 
Definition at line 202 of file WAIKeyFrame.h.
| int WAIKeyFrame::mnLoopWords = 0 | 
Definition at line 203 of file WAIKeyFrame.h.
| long unsigned int WAIKeyFrame::mnMarker[7] | 
Definition at line 199 of file WAIKeyFrame.h.
| const int WAIKeyFrame::mnMaxX | 
Definition at line 243 of file WAIKeyFrame.h.
| const int WAIKeyFrame::mnMaxY | 
Definition at line 244 of file WAIKeyFrame.h.
| const int WAIKeyFrame::mnMinX | 
Definition at line 241 of file WAIKeyFrame.h.
| const int WAIKeyFrame::mnMinY | 
Definition at line 242 of file WAIKeyFrame.h.
| long unsigned int WAIKeyFrame::mnRelocQuery = 0 | 
Definition at line 205 of file WAIKeyFrame.h.
| int WAIKeyFrame::mnRelocWords = 0 | 
Definition at line 206 of file WAIKeyFrame.h.
| const int WAIKeyFrame::mnScaleLevels | 
Definition at line 233 of file WAIKeyFrame.h.
      
  | 
  protected | 
Definition at line 276 of file WAIKeyFrame.h.
| float WAIKeyFrame::mRelocScore = -1.0f | 
Definition at line 207 of file WAIKeyFrame.h.
      
  | 
  protected | 
Definition at line 277 of file WAIKeyFrame.h.
      
  | 
  protected | 
Definition at line 278 of file WAIKeyFrame.h.
| cv::Mat WAIKeyFrame::mTcp | 
Definition at line 230 of file WAIKeyFrame.h.
| cv::Mat WAIKeyFrame::mTcwGBA | 
Definition at line 210 of file WAIKeyFrame.h.
| cv::Mat WAIKeyFrame::mTcwRefGBA | 
Definition at line 211 of file WAIKeyFrame.h.
| const double WAIKeyFrame::mTimeStamp | 
Definition at line 178 of file WAIKeyFrame.h.
| const std::vector<float> WAIKeyFrame::mvInvLevelSigma2 | 
Definition at line 238 of file WAIKeyFrame.h.
| const std::vector<cv::KeyPoint> WAIKeyFrame::mvKeysUn | 
Definition at line 220 of file WAIKeyFrame.h.
| const std::vector<float> WAIKeyFrame::mvLevelSigma2 | 
Definition at line 237 of file WAIKeyFrame.h.
      
  | 
  protected | 
Definition at line 272 of file WAIKeyFrame.h.
      
  | 
  protected | 
Definition at line 263 of file WAIKeyFrame.h.
      
  | 
  protected | 
Definition at line 271 of file WAIKeyFrame.h.
| const std::vector<float> WAIKeyFrame::mvScaleFactors | 
Definition at line 236 of file WAIKeyFrame.h.
| const int WAIKeyFrame::N = 0 | 
Definition at line 217 of file WAIKeyFrame.h.
      
  | 
  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/.
Definition at line 174 of file WAIKeyFrame.h.
      
  | 
  protected | 
camera center
Definition at line 259 of file WAIKeyFrame.h.