Program Listing for File FabMap.h

Return to documentation for file (lib/GlobalMapping/FabMap.h)

#ifdef HAVE_FABMAP
#pragma once
#include <opencv2/core/core.hpp>

namespace of2 {
    class FabMap;
}
namespace cv {
    class FeatureDetector;
    class BOWImgDescriptorExtractor;
}


namespace lsd_slam
{


class KeyFrame;

class FabMap
{
public:
    FabMap();

    ~FabMap();

//  int add(KeyFrame* keyframe);

//  int compare(KeyFrame* keyframe);

    void compareAndAdd( const std::shared_ptr<KeyFrame> &keyframe, int* out_newID, int* out_loopID);

    bool isValid() const;

private:
    int nextImageID;
    cv::Ptr<cv::FeatureDetector> detector;
    cv::Ptr<cv::BOWImgDescriptorExtractor> bide;
    cv::Ptr<of2::FabMap> fabMap;

    bool printConfusionMatrix;
    cv::Mat confusionMat;

    bool valid;
};

}
#endif