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.