From 687078116c5103ccd8bc668c0f0e84f9dd6af20c Mon Sep 17 00:00:00 2001
From: pansen <pansen626@sina.com>
Date: 星期三, 19 十二月 2018 18:55:08 +0800
Subject: [PATCH] save code wait test wait init param
---
QiaoJiaSystem/StructureApp/FaceTrackingWrapper.h | 27 +++++++++++++++++++++++++++
1 files changed, 27 insertions(+), 0 deletions(-)
diff --git a/QiaoJiaSystem/StructureApp/FaceTrackingWrapper.h b/QiaoJiaSystem/StructureApp/FaceTrackingWrapper.h
index a220dcd..8b950b4 100644
--- a/QiaoJiaSystem/StructureApp/FaceTrackingWrapper.h
+++ b/QiaoJiaSystem/StructureApp/FaceTrackingWrapper.h
@@ -11,11 +11,13 @@
#include <sys/time.h>
#include <time.h>
#include <list>
+#include <basic/debug/Debug.h>
#include <opencv2/opencv.hpp>
#include <FiStdDefEx.h>
#include <THFaceTracking_i.h>
+#include <FaceDetectServer/rpc/FaceServer.h>
#include "FaceDefine.h"
@@ -52,5 +54,30 @@
// std::map<int, ObjectList> m_objListCache;
};
+static FaceTrackingWrapper g_faceTrackingWrapper;
+static std::map<std::string, int> g_channelCache;
+
+static ::FaceDetect::Faces faceTrackingFunc(int channel, cv::Mat &image) {
+ FaceDetect::Faces faces;
+ BasicFace::FaceImage faceImage{image.cols, image.rows, image.step, image.data};
+
+ THFT_FaceInfo facePos[MAX_DETECT_FACE];
+ int faceNum = THFT_FaceTracking(channel, image.data, facePos);
+
+ if (faceNum > 0) {
+ for (int i = 0; i < faceNum; i++) {
+ FaceDetect::FacePos face;
+ auto &pos = facePos[i];
+ memcpy(&face, &pos, sizeof(pos) - sizeof(pos.pFacialData) - sizeof(pos.nFaceID));
+ face.pFacialData.resize(sizeof(pos.pFacialData));
+ memcpy(face.pFacialData.data(), pos.pFacialData, sizeof(pos.pFacialData));
+ face.pfaceId = pos.nFaceID;
+// DBG(face.fAngle.confidence);
+ faces.push_back(face);
+ }
+ } else {
+ DBG("Face num is 0");
+ }
+}
#endif //TESTCODE_FACETRACKINGWRAPPER_H
--
Gitblit v1.8.0