36 #include <QtCore/QObject>    37 #include <QtCore/QString>    38 #include <QtCore/QMap>    39 #include <QtCore/QMultiMap>    40 #include <QtCore/QPair>    41 #include <QtCore/QVector>    42 #include <QtGui/QTransform>    43 #include <QtCore/QRect>    44 #include <opencv2/opencv.hpp>    57         static void affineSkew(
float tilt,
    59                                 const cv::Mat & image,
    65         FindObject(
bool keepImagesInRAM_ = 
true, QObject * parent = 0);
    69         bool saveSession(
const QString & path);
    72         bool saveVocabulary(
const QString & filePath) 
const;
    73         bool loadVocabulary(
const QString & filePath);
    75         int loadObjects(
const QString & dirPath, 
bool recursive = 
false); 
    76         const ObjSignature * addObject(
const QString & filePath);
    77         const ObjSignature * addObject(
const cv::Mat & image, 
int id=0, 
const QString & filePath = QString());
    79         void removeObject(
int id);
    80         void removeAllObjects();
    84         void updateDetectorExtractor();
    85         void updateObjects(
const QList<int> & ids = QList<int>());
    86         void updateVocabulary(
const QList<int> & ids = QList<int>());
    88         const QMap<int, ObjSignature*> & 
objects()
 const {
return objects_;}
    92         void addObjectAndUpdate(
const cv::Mat & image, 
int id=0, 
const QString & filePath = QString());
    93         void removeObjectAndUpdate(
int id);
    94         void detect(
const cv::Mat & image); 
   101         void clearVocabulary();
 
QMap< int, cv::Mat > objectsDescriptors_
const QMap< int, ObjSignature * > & objects() const
QMap< int, ObjSignature * > objects_
QMap< QString, QVariant > ParametersMap
const Vocabulary * vocabulary() const
bool isSessionModified() const
QMap< int, int > dataRange_