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/STFaceCache.h | 42 ++++++++++++++++++++++++++++++++---------- 1 files changed, 32 insertions(+), 10 deletions(-) diff --git a/FaceServer/STFaceCache.h b/FaceServer/STFaceCache.h index 2c37ca0..44fb677 100644 --- a/FaceServer/STFaceCache.h +++ b/FaceServer/STFaceCache.h @@ -4,15 +4,21 @@ #include <string> #include "face_daemon_proto.h" -struct STFaceImage +#define FDP_FDR_INVALID FDP_FaceDetectResult(STFS_DBID_INVALID, 0, 0) +#define ENABLE_AUTO_CREATE_STFACEDB +#define ENABLE_DETECT_IN_NEGATIVE_DBID +//#define ENABLE_ADD_TO_TEMPDB_WHEN_NOT_DETECT +#define RESULT_CONFIDENCE 0.70 +#define TEMPDB_FACE_COUNT_MAX 10 + +enum STFSpecialDBID { - int32_t db_id; - int16_t mb_type; // MB_Frame::MBFType - int16_t width; - int16_t height; - uint32_t size; - const uint8_t* buff; + STFS_DBID_INVALID = 0, + STFS_DBID_VISITOR_1 = -1, + STFS_DBID_TEMPDB_1 = -1000 }; + +struct STFaceImage; class STFaceCache { @@ -20,14 +26,30 @@ STFaceCache(const std::string& _stfacedbPath); ~STFaceCache(); - bool load_dbs(); - FDP_FaceDetectResult detect(const STFaceImage& img); - FDP_FaceDetectResult save(const STFaceImage& img); + bool init(); + void finit(); + bool load_dbs(); + void close_dbs(); + FDP_FaceDetectResult detect(const STFaceImage& img); + FDP_FaceDetectResult add(const STFaceImage& img); + void search(const STFaceImage& img, fdr_vec_t& topResult); + FDP_FaceDetectResult compare(const STFaceImage& img1, const STFaceImage& img2); + void delete_db(int dbid); + + //#todo need a delete img, if business not linked faceid and its personid + // they can delete it and save/find again! + +private: + FDP_FaceDetectResult detect_neg(const STFaceImage& img); + private: const std::string stfacedbPath; const std::string stfaceModels; + void* _dbContext; void* _cacheContext; + + int tempdbFaceCount; }; #endif -- Gitblit v1.8.0