From 41bc5a329c73e3b43695f73f11c47c97c44cc1b6 Mon Sep 17 00:00:00 2001 From: chenke <chenke@454eff88-639b-444f-9e54-f578c98de674> Date: 星期四, 20 七月 2017 09:45:41 +0800 Subject: [PATCH] --- FaceServer/sample_face_search.h | 41 +++++++++++++++++++++++++++++++++++++---- 1 files changed, 37 insertions(+), 4 deletions(-) diff --git a/FaceServer/sample_face_search.h b/FaceServer/sample_face_search.h index fb37ee7..e121b16 100644 --- a/FaceServer/sample_face_search.h +++ b/FaceServer/sample_face_search.h @@ -1,32 +1,63 @@ #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 stface_handles { cv_handle_t handle_verify; - cv_handle_t handle_db; cv_handle_t handle_detect; + cv_handle_t handle_db; - stface_handles() : handle_verify(nullptr), handle_db(nullptr), handle_detect(nullptr) + stface_handles() : handle_verify(nullptr), handle_detect(nullptr), handle_db(nullptr) {} }; +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); + +float stface_compare(stface_handles& handles, const STFaceImage& image1, const STFaceImage& image2); 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); @@ -34,4 +65,6 @@ int stface_main(int argc, char *argv[]); +int stface_init_license(const char* lic_path); + #endif -- Gitblit v1.8.0