pans
2017-01-13 1668865343c3069a65c241e167618be31a1a0549
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
59
60
61
62
63
64
65
66
67
68
69
#ifndef _FACEAPI_H_
#define _FACEAPI_H_
 
#include <opencv2/opencv.hpp>
#include <cv_face.h>
#include "time_helper.h"
 
 
 
class FaceAPI
{
public:
    FaceAPI();
    ~FaceAPI();
    //²éѯ  Ç°Ì¨µ÷ÓÃ
    int do_reasch(char* s_feature);
    int do_reasch(cv::Mat image);
    //×¢²á  ºǫ́ÁíÒ»½ø³Ìµ÷ÓÃ
    int do_register(cv::Mat image);
 
private:
 
    //µ÷ÓÃËÑË÷
    int p_img_search(cv_feature_t *p_feature);
 
    //ת»»º¯Êý
    int get_char(cv_feature_t *p_feature,char* feature_str);
    int get_feature(char *feature_str,cv_feature_t *p_feature);
    cv_feature_t* p_f;
};
 
 
class FaceDB
{
public:
    FaceDB();
    virtual ~FaceDB();
 
    //ÈËÁ³ÑéÖ¤
    cv_handle_t handle_verify;
    //Êý¾Ý¿â²Ù×÷
    cv_handle_t handle_db;
    //¾²Ì¬ÈËÁ³Ê¶±ð
    cv_handle_t handle_detect;
 
    //³õʼ»¯
    bool init(char* db_path);
    //±£´æÊý¾Ý¿â
    bool finally();
 
    //ËÑË÷SDKÊý¾Ý¿â
    int search_db(cv_feature_t* p_feature );
    //Ìí¼Ó¼Ç¼
    int db_add(cv_feature_t* p_feature);
 
 
    //ÌáÈ¡ÌØÕ÷Öµ
    cv_feature_t *extract_feature(cv::Mat image_color);
 
private:
    cv_result_t cv_result;
    char* db_path;
 
    //¼ÓÔØsdkÊý¾Ý¿â
    bool db_load();
    bool db_save();
};
 
#endif