| | |
| | | #ifndef _SAMPLE_FACE_SEARCH_H_ |
| | | #define _SAMPLE_FACE_SEARCH_H_ |
| | | |
| | | #include <stdint.h> |
| | | #include <vector> |
| | | |
| | | typedef void* cv_handle_t; |
| | | struct cv_feature_t; |
| | | |
| | |
| | | {} |
| | | }; |
| | | |
| | | struct STFaceImage |
| | | { |
| | | int32_t db_id; |
| | | int16_t mb_type; // MB_Frame::MBFType |
| | | int16_t width; |
| | | int16_t height; |
| | | uint32_t size; |
| | | const uint8_t* buff; |
| | | }; |
| | | |
| | | struct TopIdxScore |
| | | { |
| | | int idx; |
| | | float score; |
| | | |
| | | TopIdxScore(int _idx, float _score) : idx(_idx), score(_score) |
| | | {} |
| | | }; |
| | | |
| | | typedef std::vector<TopIdxScore> top_idx_score_vect_t; |
| | | |
| | | cv_feature_t *stface_extract_feature(stface_handles& handles, const char *image_path); |
| | | cv_feature_t *stface_extract_feature(stface_handles& handles, const STFaceImage& image); |
| | | |
| | | int stface_db_add(stface_handles& handles, const char *image_path); |
| | | int stface_db_add(stface_handles& handles, const STFaceImage& image); |
| | | |
| | | bool stface_db_del(stface_handles& handles, int idx); |
| | | |
| | | bool stface_db_save(stface_handles& handles, char *db_path); |
| | | bool stface_db_save(stface_handles& handles, const char *db_path); |
| | | |
| | | bool stface_db_load(stface_handles& handles, char *db_path); |
| | | bool stface_db_load(stface_handles& handles, const char *db_path); |
| | | |
| | | bool stface_db_create(stface_handles& handles, const char *db_path); |
| | | |
| | | bool stface_db_gen(stface_handles& handles, char *image_list, char *output_db_path); |
| | | |
| | | bool stface_search_db(stface_handles& handles, char *image_path); |
| | | bool stface_search_db(stface_handles& handles, const STFaceImage& image, top_idx_score_vect_t& result); |
| | | |
| | | bool stface_search_list(stface_handles& handles, char *image_path, char *list_path); |
| | | |