added new statistics (features extracted current image, local map size) shown in GUI for Odometry

git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1719 f169173b-cf89-36c8-b27e-44dbe73f0c83
This commit is contained in:
matlabbe
2014-09-25 15:04:35 +00:00
parent c5eedd9a9d
commit ebeb116c0d
11 changed files with 135 additions and 37 deletions

View File

@@ -53,7 +53,14 @@ public:
bool init(int startIndex=0);
void setFrameRate(float frameRate);
void getNextImage(cv::Mat & image, cv::Mat & depth, cv::Mat & depth2d, float & fx, float & fy, float & cx, float & cy, Transform & localTransform, Transform & pose);
void getNextImage(cv::Mat & image,
cv::Mat & depth,
cv::Mat & depth2d,
float & fx, float & fy,
float & cx, float & cy,
Transform & localTransform,
Transform & pose,
int & seq);
protected:
virtual void mainLoopBegin();

View File

@@ -54,7 +54,7 @@ class RTABMAP_EXP Odometry
{
public:
virtual ~Odometry() {}
Transform process(SensorData & data, int * quality = 0);
Transform process(SensorData & data, int * quality = 0, int * features = 0, int * localMapSize = 0);
virtual void reset();
bool isLargeEnoughTransform(const Transform & transform);
@@ -72,7 +72,7 @@ public:
int getLocalHistory() const {return _localHistory;}
private:
virtual Transform computeTransform(const SensorData & image, int * quality = 0) = 0;
virtual Transform computeTransform(const SensorData & image, int * quality = 0, int * features = 0, int * localMapSize = 0) = 0;
private:
int _maxFeatures;
@@ -106,7 +106,7 @@ public:
const Memory * getMemory() const {return _memory;}
private:
virtual Transform computeTransform(const SensorData & image, int * quality = 0);
virtual Transform computeTransform(const SensorData & image, int * quality = 0, int * features = 0, int * localMapSize = 0);
private:
Memory * _memory;
@@ -127,7 +127,7 @@ public:
void reset();
private:
virtual Transform computeTransform(const SensorData & image, int * quality = 0);
virtual Transform computeTransform(const SensorData & image, int * quality = 0, int * features = 0, int * localMapSize = 0);
private:
int _decimation;

View File

@@ -37,10 +37,13 @@ class OdometryEvent : public UEvent
{
public:
OdometryEvent(
const SensorData & data, int quality = -1, float time = 0.0f) :
const SensorData & data, int quality = -1, float time = 0.0f, int features = 0, int localMapSize = 0) :
_data(data),
_quality(quality),
_time(time){}
_time(time),
_features(features),
_localMapSize(localMapSize)
{}
virtual ~OdometryEvent() {}
virtual std::string getClassName() const {return "OdometryEvent";}
@@ -48,11 +51,15 @@ public:
const SensorData & data() const {return _data;}
int quality() const {return _quality;}
float time() const {return _time;} // seconds
int features() const {return _features;}
int localMapSize() const {return _localMapSize;}
private:
SensorData _data;
int _quality;
float _time; // seconds
int _features;
int _localMapSize;
};
class OdometryResetEvent : public UEvent

View File

@@ -183,6 +183,7 @@ private:
// strategies for a type of signature or configuration.
EpipolarGeometry * _epipolarGeometry;
BayesFilter * _bayesFilter;
ParametersMap _lastParameters;
Memory * _memory;