/** * This file is part of ORB-SLAM2. * * Copyright (C) 2014-2016 Raúl Mur-Artal (University of Zaragoza) * For more information see * * 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 . */ #ifndef FRAMEDRAWER_H #define FRAMEDRAWER_H #include "Tracking.h" #include "MapPoint.h" #include "Map.h" #include #include #include namespace ORB_SLAM2 { class Tracking; class Viewer; class FrameDrawer { public: FrameDrawer(Map *pMap); // Update info from the last processed frame. void Update(Tracking *pTracker); // Draw last processed frame. cv::Mat DrawFrame(); protected: void DrawTextInfo(cv::Mat &im, int nState, cv::Mat &imText); // Info of the frame to be drawn cv::Mat mIm; int N; vector mvCurrentKeys; vector mvbMap, mvbVO; bool mbOnlyTracking; int mnTracked, mnTrackedVO; vector mvIniKeys; vector mvIniMatches; int mState; // 用于显示红色动态点 vector vPointRed; vector> mvvLabel; // cls,x,y,w,h Map *mpMap; std::mutex mMutex; }; } // namespace ORB_SLAM #endif // FRAMEDRAWER_H