From 4cb4bd77e9ae50929f628c36f62a1923c0787f67 Mon Sep 17 00:00:00 2001
From: houxiao <houxiao@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期三, 28 六月 2017 14:10:07 +0800
Subject: [PATCH] add compare bin proto

---
 FaceServer/STFaceCache.cpp |   27 ++++++++++++++++++++++++---
 1 files changed, 24 insertions(+), 3 deletions(-)

diff --git a/FaceServer/STFaceCache.cpp b/FaceServer/STFaceCache.cpp
index c603dca..23621a4 100644
--- a/FaceServer/STFaceCache.cpp
+++ b/FaceServer/STFaceCache.cpp
@@ -9,7 +9,7 @@
 #include "sample_face_search.h"
 #include <cv_face.h>
 
-#define FDP_FDR_INVALID FDP_FaceDetectResult(0, 0)
+#define FDP_FDR_INVALID FDP_FaceDetectResult(0, 0, 0)
 #define ENABLE_AUTO_CREATE_STFACEDB
 #define ENABLE_SEARCH_IN_NEGATIVE_DBID
 #define ENABLE_SEARCH_IN_NEGATIVE_DBID
@@ -22,6 +22,16 @@
 
 	STFaceCacheContext() : handle_verify(nullptr), handle_detect(nullptr)
 	{
+	}
+	
+	stface_handles getStFaceHandles()
+	{
+		//return (stface_handles*)this;
+		
+		stface_handles handles;
+		handles.handle_verify = handle_verify;
+		handles.handle_detect = handle_detect;
+		return handles;
 	}
 };
 
@@ -254,7 +264,7 @@
 			return detect_neg(img);
 		}
 		
-		return FDP_FaceDetectResult(img.db_id, result[0].idx);
+		return FDP_FaceDetectResult(img.db_id, result[0].idx, result[0].score * 1000);
 	}
 
 	return FDP_FDR_INVALID;
@@ -318,5 +328,16 @@
 	if (idx <= 1)
 		return FDP_FDR_INVALID;
 	else
-		return FDP_FaceDetectResult(img.db_id, idx);
+		return FDP_FaceDetectResult(img.db_id, idx, 0);
+}
+
+FDP_FaceDetectResult STFaceCache::compare(const STFaceImage& img1, const STFaceImage& img2)
+{
+	stface_ctx_map_t& dbContext(*(stface_ctx_map_t*)_dbContext);
+	STFaceCacheContext& cacheContext(*(STFaceCacheContext*)_cacheContext);
+
+	stface_handles handles(cacheContext.getStFaceHandles());
+	float c = stface_compare(handles, img1, img2);
+	FDP_FaceDetectResult result(0, 0, int(c * 1000));
+	return result;
 }

--
Gitblit v1.8.0