xingzilong
2017-08-18 9e5babf9db52e64bdae60137be7696e56241fca6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#ifndef _PL_SENSETIMEFACEDETECT_H_
#define _PL_SENSETIMEFACEDETECT_H_
 
#include "PipeLine.h"
#include "MaterialBuffer.h"
//#include "PL_SensetimeFaceTrack.h" // for st_ff_vect_t
 
struct SensetimeFaceDetectDbFrame : public MB_Frame
{
    int school_id;
    void* _faceDB;
    
    SensetimeFaceDetectDbFrame() : MB_Frame(), school_id(-1), _faceDB(nullptr)
    { }
};
 
struct SensetimeFaceDetectResult
{
    int school_id;
    int st_id;
    //st_ff_vect_t features;
    
    SensetimeFaceDetectResult() : school_id(-1), st_id(-1)
    { }
};
 
struct PL_SensetimeFaceDetectConfig
{
    // #todo currently only support default config
    bool payWithDbFrame;
    bool resultStructOnly;
    
    //std::string dbPath;
    
    PL_SensetimeFaceDetectConfig() : 
        payWithDbFrame(true), resultStructOnly(true)
    { }
};
 
class PL_SensetimeFaceDetect : public PipeLineElem
{
public:
    PL_SensetimeFaceDetect();
    virtual ~PL_SensetimeFaceDetect();
 
    virtual bool init(void* args);
    virtual void finit();
 
    virtual bool pay(const PipeMaterial& pm);
    virtual bool gain(PipeMaterial& pm);
    
private:
    void* internal;
};
 
PipeLineElem* create_PL_SensetimeFaceDetect();
 
#endif