00001
00019 #ifndef __D_T_F_SURF_64__
00020 #define __D_T_F_SURF_64__
00021
00022 #include <opencv/cv.h>
00023 #include <vector>
00024 #include <string>
00025
00026 #include "FClass.h"
00027
00028 namespace DBoW2 {
00029
00031 class FSurf64: protected FClass
00032 {
00033 public:
00034
00036 typedef std::vector<float> TDescriptor;
00038 typedef const TDescriptor *pDescriptor;
00040 static const int L = 64;
00041
00046 inline static int dimensions()
00047 {
00048 return L;
00049 }
00050
00056 static void meanValue(const std::vector<pDescriptor> &descriptors,
00057 TDescriptor &mean);
00058
00065 static double distance(const TDescriptor &a, const TDescriptor &b);
00066
00072 static std::string toString(const TDescriptor &a);
00073
00079 static void fromString(TDescriptor &a, const std::string &s);
00080
00086 static void toMat32F(const std::vector<TDescriptor> &descriptors,
00087 cv::Mat &mat);
00088
00089 };
00090
00091 }
00092
00093 #endif