![]()  | 
  
    SLProject
    4.2.000
    
   A platform independent 3D computer graphics framework for desktop OS,  Android,  iOS and online in web browsers 
   | 
 
#include <WAIModeOrbSlam2.h>
Classes | |
| struct | Params | 
Public Member Functions | |
| ModeOrbSlam2 (ORB_SLAM2::KPextractor *kpExtractor, ORB_SLAM2::KPextractor *kpIniExtractor, cv::Mat cameraMat, cv::Mat distortionMat, const Params ¶ms, std::string orbVocFile, bool applyMinAccScoreFilter=false) | |
| ModeOrbSlam2 (ORB_SLAM2::KPextractor *kpExtractor, ORB_SLAM2::KPextractor *kpIniExtractor, ORB_SLAM2::KPextractor *kpMarkerExtractor, std::string markerFile, cv::Mat cameraMat, cv::Mat distortionMat, const Params ¶ms, std::string orbVocFile, bool applyMinAccScoreFilter=false) | |
| ~ModeOrbSlam2 () | |
| bool | getPose (cv::Mat *pose) | 
| bool | update (cv::Mat &imageGray, cv::Mat &imageRGB) | 
| void | reset () | 
| bool | isInitialized () | 
| void | disableMapping () | 
| void | enableMapping () | 
| WAIMap * | getMap () | 
| WAIKeyFrameDB * | getKfDB () | 
| std::string | getPrintableState () | 
| TrackingState | getTrackingState () | 
| std::string | getPrintableType () | 
| int | getKeyPointCount () | 
| int | getMapPointCount () | 
| int | getMapPointMatchesCount () | 
| int | getKeyFrameCount () | 
| int | getNMapMatches () | 
| int | getNumKeyFrames () | 
| float | poseDifference () | 
| float | getMeanReprojectionError () | 
| void | findMatches (std::vector< cv::Point2f > &vP2D, std::vector< cv::Point3f > &vP3Dw) | 
| std::string | getLoopCloseStatus () | 
| int | getLoopCloseCount () | 
| int | getKeyFramesInLoopCloseQueueCount () | 
| std::vector< WAIMapPoint * > | getMapPoints () | 
| std::vector< WAIMapPoint * > | getMatchedMapPoints () | 
| std::vector< WAIMapPoint * > | getLocalMapPoints () | 
| std::vector< WAIMapPoint * > | getMarkerCornerMapPoints () | 
| std::vector< WAIKeyFrame * > | getKeyFrames () | 
| std::pair< std::vector< cv::Vec3f >, std::vector< cv::Vec2f > > | getMatchedCorrespondances () | 
| std::pair< std::vector< cv::Vec3f >, std::vector< cv::Vec2f > > | getCorrespondances () | 
| KPextractor * | getKPextractor () | 
| bool | getTrackOptFlow () | 
| void | setTrackOptFlow (bool flag) | 
| void | pause () | 
| void | resume () | 
| void | requestStateIdle () | 
| bool | hasStateIdle () | 
| bool | retainImage () | 
| void | setInitialized (bool initialized) | 
| void | setVocabulary (std::string orbVocFile) | 
| WAIFrame | getCurrentFrame () | 
| bool | doMarkerMapPreprocessing (std::string markerFile, cv::Mat &nodeTransform, float markerWidthInM) | 
| void | decorateVideoWithKeyPoints (cv::Mat &image) | 
| void | decorateVideoWithKeyPointMatches (cv::Mat &image) | 
| WAIFrame | createMarkerFrame (std::string markerFile, KPextractor *markerExtractor) | 
Static Public Member Functions | |
| static bool | relocalization (WAIFrame ¤tFrame, WAIKeyFrameDB *keyFrameDB, unsigned int *lastRelocFrameId, WAIMap &waiMap, bool applyMinAccScoreFilter=true, bool relocWithAllKFs=false) | 
Public Attributes | |
| int | mMinFrames = 0 | 
| int | mMaxFrames = 30 | 
Private Types | |
| enum | TrackingType { TrackingType_None , TrackingType_ORBSLAM , TrackingType_MotionModel , TrackingType_OptFlow } | 
Private Member Functions | |
| void | initialize (cv::Mat &imageGray, cv::Mat &imageRGB) | 
| bool | createInitialMapMonocular (int mapPointsNeeded) | 
| void | track3DPts (cv::Mat &imageGray, cv::Mat &imageRGB) | 
| bool | trackReferenceKeyFrame () | 
| bool | trackWithMotionModel () | 
| bool | trackLocalMap () | 
| bool | trackWithOptFlow () | 
| bool | needNewKeyFrame () | 
| void | createNewKeyFrame () | 
| bool | posInGrid (const cv::KeyPoint &kp, int &posX, int &posY, int minX, int minY) | 
| void | checkReplacedInLastFrame () | 
| void | updateLocalMap () | 
| void | updateLocalKeyFrames () | 
| void | updateLocalPoints () | 
| void | searchLocalPoints () | 
| void | updateLastFrame () | 
| WAIKeyFrame * | currentKeyFrame () | 
| void | stateTransition () | 
| void | resetRequests () | 
| void | requestResume () | 
| void | decorate (cv::Mat &image) | 
| void | calculateMeanReprojectionError () | 
| void | calculatePoseDifference () | 
| bool | findMarkerHomography (WAIFrame &markerFrame, WAIKeyFrame *kfCand, cv::Mat &homography, int minMatches) | 
Definition at line 35 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
| Enumerator | |
|---|---|
| TrackingType_None | |
| TrackingType_ORBSLAM | |
| TrackingType_MotionModel | |
| TrackingType_OptFlow | |
Definition at line 156 of file WAIModeOrbSlam2.h.
| WAI::ModeOrbSlam2::ModeOrbSlam2 | ( | ORB_SLAM2::KPextractor * | kpExtractor, | 
| ORB_SLAM2::KPextractor * | kpIniExtractor, | ||
| cv::Mat | cameraMat, | ||
| cv::Mat | distortionMat, | ||
| const Params & | params, | ||
| std::string | orbVocFile, | ||
| bool | applyMinAccScoreFilter = false  | 
        ||
| ) | 
Definition at line 5 of file WAIModeOrbSlam2.cpp.
| WAI::ModeOrbSlam2::ModeOrbSlam2 | ( | ORB_SLAM2::KPextractor * | kpExtractor, | 
| ORB_SLAM2::KPextractor * | kpIniExtractor, | ||
| ORB_SLAM2::KPextractor * | kpMarkerExtractor, | ||
| std::string | markerFile, | ||
| cv::Mat | cameraMat, | ||
| cv::Mat | distortionMat, | ||
| const Params & | params, | ||
| std::string | orbVocFile, | ||
| bool | applyMinAccScoreFilter = false  | 
        ||
| ) | 
Definition at line 60 of file WAIModeOrbSlam2.cpp.
| WAI::ModeOrbSlam2::~ModeOrbSlam2 | ( | ) | 
Definition at line 135 of file WAIModeOrbSlam2.cpp.
      
  | 
  private | 
Definition at line 2319 of file WAIModeOrbSlam2.cpp.
      
  | 
  private | 
Definition at line 2385 of file WAIModeOrbSlam2.cpp.
      
  | 
  private | 
Definition at line 1155 of file WAIModeOrbSlam2.cpp.
      
  | 
  private | 
Definition at line 1036 of file WAIModeOrbSlam2.cpp.
| WAIFrame WAI::ModeOrbSlam2::createMarkerFrame | ( | std::string | markerFile, | 
| KPextractor * | markerExtractor | ||
| ) | 
Definition at line 2482 of file WAIModeOrbSlam2.cpp.
      
  | 
  private | 
Definition at line 1229 of file WAIModeOrbSlam2.cpp.
      
  | 
  private | 
Definition at line 2300 of file WAIModeOrbSlam2.cpp.
      
  | 
  private | 
Definition at line 2307 of file WAIModeOrbSlam2.cpp.
| void WAI::ModeOrbSlam2::decorateVideoWithKeyPointMatches | ( | cv::Mat & | image | ) | 
Definition at line 2409 of file WAIModeOrbSlam2.cpp.
| void WAI::ModeOrbSlam2::decorateVideoWithKeyPoints | ( | cv::Mat & | image | ) | 
Definition at line 2395 of file WAIModeOrbSlam2.cpp.
| void WAI::ModeOrbSlam2::disableMapping | ( | ) | 
Definition at line 481 of file WAIModeOrbSlam2.cpp.
| bool WAI::ModeOrbSlam2::doMarkerMapPreprocessing | ( | std::string | markerFile, | 
| cv::Mat & | nodeTransform, | ||
| float | markerWidthInM | ||
| ) | 
Definition at line 2505 of file WAIModeOrbSlam2.cpp.
| void WAI::ModeOrbSlam2::enableMapping | ( | ) | 
Definition at line 495 of file WAIModeOrbSlam2.cpp.
      
  | 
  private | 
Definition at line 2442 of file WAIModeOrbSlam2.cpp.
| void WAI::ModeOrbSlam2::findMatches | ( | std::vector< cv::Point2f > & | vP2D, | 
| std::vector< cv::Point3f > & | vP3Dw | ||
| ) | 
Definition at line 1382 of file WAIModeOrbSlam2.cpp.
| std::pair< std::vector< cv::Vec3f >, std::vector< cv::Vec2f > > WAI::ModeOrbSlam2::getCorrespondances | ( | ) | 
Definition at line 427 of file WAIModeOrbSlam2.cpp.
| WAIFrame WAI::ModeOrbSlam2::getCurrentFrame | ( | ) | 
Definition at line 1618 of file WAIModeOrbSlam2.cpp.
| int WAI::ModeOrbSlam2::getKeyFrameCount | ( | ) | 
Definition at line 212 of file WAIModeOrbSlam2.cpp.
| std::vector< WAIKeyFrame * > WAI::ModeOrbSlam2::getKeyFrames | ( | ) | 
Definition at line 460 of file WAIModeOrbSlam2.cpp.
| int WAI::ModeOrbSlam2::getKeyFramesInLoopCloseQueueCount | ( | ) | 
Definition at line 233 of file WAIModeOrbSlam2.cpp.
| int WAI::ModeOrbSlam2::getKeyPointCount | ( | ) | 
Definition at line 2895 of file WAIModeOrbSlam2.cpp.
      
  | 
  inline | 
Definition at line 94 of file WAIModeOrbSlam2.h.
      
  | 
  inline | 
Definition at line 127 of file WAIModeOrbSlam2.h.
| std::vector< WAIMapPoint * > WAI::ModeOrbSlam2::getLocalMapPoints | ( | ) | 
Definition at line 452 of file WAIModeOrbSlam2.cpp.
| int WAI::ModeOrbSlam2::getLoopCloseCount | ( | ) | 
Definition at line 226 of file WAIModeOrbSlam2.cpp.
| std::string WAI::ModeOrbSlam2::getLoopCloseStatus | ( | ) | 
Definition at line 219 of file WAIModeOrbSlam2.cpp.
      
  | 
  inline | 
Definition at line 93 of file WAIModeOrbSlam2.h.
| int WAI::ModeOrbSlam2::getMapPointCount | ( | ) | 
Definition at line 198 of file WAIModeOrbSlam2.cpp.
| int WAI::ModeOrbSlam2::getMapPointMatchesCount | ( | ) | 
Definition at line 205 of file WAIModeOrbSlam2.cpp.
| std::vector< WAIMapPoint * > WAI::ModeOrbSlam2::getMapPoints | ( | ) | 
Definition at line 325 of file WAIModeOrbSlam2.cpp.
| std::vector< WAIMapPoint * > WAI::ModeOrbSlam2::getMarkerCornerMapPoints | ( | ) | 
Definition at line 334 of file WAIModeOrbSlam2.cpp.
| std::pair< std::vector< cv::Vec3f >, std::vector< cv::Vec2f > > WAI::ModeOrbSlam2::getMatchedCorrespondances | ( | ) | 
Definition at line 399 of file WAIModeOrbSlam2.cpp.
| std::vector< WAIMapPoint * > WAI::ModeOrbSlam2::getMatchedMapPoints | ( | ) | 
Definition at line 374 of file WAIModeOrbSlam2.cpp.
| float WAI::ModeOrbSlam2::getMeanReprojectionError | ( | ) | 
Definition at line 258 of file WAIModeOrbSlam2.cpp.
| int WAI::ModeOrbSlam2::getNMapMatches | ( | ) | 
Definition at line 240 of file WAIModeOrbSlam2.cpp.
| int WAI::ModeOrbSlam2::getNumKeyFrames | ( | ) | 
Definition at line 246 of file WAIModeOrbSlam2.cpp.
| bool WAI::ModeOrbSlam2::getPose | ( | cv::Mat * | pose | ) | 
Definition at line 153 of file WAIModeOrbSlam2.cpp.
| std::string WAI::ModeOrbSlam2::getPrintableState | ( | ) | 
Definition at line 263 of file WAIModeOrbSlam2.cpp.
| std::string WAI::ModeOrbSlam2::getPrintableType | ( | ) | 
Definition at line 309 of file WAIModeOrbSlam2.cpp.
      
  | 
  inline | 
Definition at line 103 of file WAIModeOrbSlam2.h.
| bool WAI::ModeOrbSlam2::getTrackOptFlow | ( | ) | 
Definition at line 468 of file WAIModeOrbSlam2.cpp.
| bool WAI::ModeOrbSlam2::hasStateIdle | ( | ) | 
Definition at line 1367 of file WAIModeOrbSlam2.cpp.
      
  | 
  private | 
Definition at line 559 of file WAIModeOrbSlam2.cpp.
| bool WAI::ModeOrbSlam2::isInitialized | ( | ) | 
Definition at line 1308 of file WAIModeOrbSlam2.cpp.
      
  | 
  private | 
Definition at line 1172 of file WAIModeOrbSlam2.cpp.
| void WAI::ModeOrbSlam2::pause | ( | ) | 
Definition at line 1315 of file WAIModeOrbSlam2.cpp.
| float WAI::ModeOrbSlam2::poseDifference | ( | ) | 
Definition at line 252 of file WAIModeOrbSlam2.cpp.
      
  | 
  private | 
Definition at line 740 of file WAIModeOrbSlam2.cpp.
      
  | 
  static | 
Definition at line 1426 of file WAIModeOrbSlam2.cpp.
      
  | 
  private | 
Definition at line 1356 of file WAIModeOrbSlam2.cpp.
| void WAI::ModeOrbSlam2::requestStateIdle | ( | ) | 
Definition at line 1345 of file WAIModeOrbSlam2.cpp.
| void WAI::ModeOrbSlam2::reset | ( | ) | 
Definition at line 1246 of file WAIModeOrbSlam2.cpp.
      
  | 
  private | 
Definition at line 1376 of file WAIModeOrbSlam2.cpp.
| void WAI::ModeOrbSlam2::resume | ( | ) | 
Definition at line 1333 of file WAIModeOrbSlam2.cpp.
      
  | 
  inline | 
Definition at line 140 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 1756 of file WAIModeOrbSlam2.cpp.
      
  | 
  inline | 
Definition at line 141 of file WAIModeOrbSlam2.h.
| void WAI::ModeOrbSlam2::setTrackOptFlow | ( | bool | flag | ) | 
Definition at line 474 of file WAIModeOrbSlam2.cpp.
| void WAI::ModeOrbSlam2::setVocabulary | ( | std::string | orbVocFile | ) | 
Definition at line 121 of file WAIModeOrbSlam2.cpp.
      
  | 
  private | 
Definition at line 501 of file WAIModeOrbSlam2.cpp.
      
  | 
  private | 
Definition at line 752 of file WAIModeOrbSlam2.cpp.
      
  | 
  private | 
Definition at line 1684 of file WAIModeOrbSlam2.cpp.
      
  | 
  private | 
Definition at line 1623 of file WAIModeOrbSlam2.cpp.
      
  | 
  private | 
Definition at line 1947 of file WAIModeOrbSlam2.cpp.
      
  | 
  private | 
Definition at line 2027 of file WAIModeOrbSlam2.cpp.
| bool WAI::ModeOrbSlam2::update | ( | cv::Mat & | imageGray, | 
| cv::Mat & | imageRGB | ||
| ) | 
Definition at line 166 of file WAIModeOrbSlam2.cpp.
      
  | 
  private | 
Definition at line 2265 of file WAIModeOrbSlam2.cpp.
      
  | 
  private | 
Definition at line 1814 of file WAIModeOrbSlam2.cpp.
      
  | 
  private | 
Definition at line 1746 of file WAIModeOrbSlam2.cpp.
      
  | 
  private | 
Definition at line 1922 of file WAIModeOrbSlam2.cpp.
      
  | 
  private | 
Definition at line 291 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 190 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 226 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 195 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 196 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 272 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 192 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 201 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 227 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 216 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 304 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 303 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 214 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 281 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 308 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 309 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 306 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 307 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 274 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 217 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 265 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 264 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 263 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 218 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 262 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 260 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 261 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 193 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 188 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 282 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 215 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 191 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 290 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 273 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 287 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 286 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 285 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 289 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 283 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 284 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 288 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 198 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 199 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 233 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 220 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 221 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 222 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 240 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 239 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 238 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 237 of file WAIModeOrbSlam2.h.
| int WAI::ModeOrbSlam2::mMaxFrames = 30 | 
Definition at line 99 of file WAIModeOrbSlam2.h.
| int WAI::ModeOrbSlam2::mMinFrames = 0 | 
Definition at line 98 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 248 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 247 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 243 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 204 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 205 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 209 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 200 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 246 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 207 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 208 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 252 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 211 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 212 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 203 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 224 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 257 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 223 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 225 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 254 of file WAIModeOrbSlam2.h.
      
  | 
  private | 
Definition at line 253 of file WAIModeOrbSlam2.h.