unify the interface with detector
[trackerpp.git] / src / Detector.h
index a17a5a0..edf875c 100644 (file)
@@ -1,14 +1,37 @@
 #ifndef _DETECTOR_H_
 #define _DETECTOR_H_
 
+#include "VideoReader.h"
+#include "SharedPtr.h"
+
 namespace suanzi {
 
-class Detector
-{
-public:
-    Detector();
-    ~Detector();
-};
+    struct Detection;
+
+    TK_DECLARE_PTR(Detector);
+    class Detector
+    {
+    public:
+        Detector();
+        virtual ~Detector();
+        unsigned int detect(cv::Mat& frame, Detection* detections){return 1;}
+    };
+
+    struct Detection
+    {
+        // 检测目标的类型,目前只有一个类human,默认等于0。为以后可以检测的更多类别预留
+        unsigned int object_type;
+        // 检测目标的分数,可以不填
+        float score;
+        // 检测目标的坐标,包括物体中心的x、y坐标,物体的高和宽
+        unsigned int center_x;
+        unsigned int center_y;
+        unsigned int height;
+        unsigned int width;
+        // 检测目标的特征向量
+        unsigned int feature_size;
+        float * feature;
+    };
 
 }