35 #include <opencv2/opencv.hpp>
37 #include <orb_slam/ORBextractor.h>
43 #define FRAME_GRID_ROWS 36
44 #define FRAME_GRID_COLS 64
46 using namespace ORB_SLAM2;
55 WAIFrame(
const cv::Mat& imGray,
const double& timeStamp, KPextractor* extractor, cv::Mat& K, cv::Mat& distCoef,
WAIOrbVocabulary* vocabulary,
bool retainImg =
false);
58 void ExtractFeaturePoints(
const cv::Mat& im);
64 void SetPose(cv::Mat Tcw);
67 void UpdatePoseMatrices();
95 bool isInFrustum(
WAIMapPoint* pMP,
float viewingCosLimit);
98 bool PosInGrid(
const cv::KeyPoint& kp,
int& posX,
int& posY);
100 std::vector<size_t> GetFeaturesInArea(
const float& x,
const float& y,
const float& r,
const int minLevel = -1,
const int maxLevel = -1)
const;
107 KPextractor* mpORBextractorLeft = NULL;
159 long unsigned int mnId = -1;
191 void UndistortKeyPoints();
194 void ComputeImageBounds(
const cv::Mat& imLeft);
197 void AssignFeaturesToGrid();
cv::Mat GetCameraCenter()
std::vector< float > mvScaleFactors
std::vector< float > mvDepth
std::vector< float > mvLevelSigma2
std::vector< WAIMapPoint * > mvpMapPoints
static float mfGridElementHeightInv
std::vector< float > mvInvScaleFactors
std::vector< cv::KeyPoint > mvKeys
static long unsigned int nNextId
std::vector< float > mvInvLevelSigma2
cv::Mat GetRotationInverse()
static float mfGridElementWidthInv
cv::Mat GetTranslationCW()
std::vector< cv::KeyPoint > mvKeysUn
static bool mbInitialComputations
std::vector< float > mvuRight