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