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);
95 void detect(
const cv::Mat & image,
const find_object::Header & header,
const cv::Mat & depth,
float depthConstant);
101 void clearVocabulary();