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.