From b7340a34ff68f018a4aa0e7aada3b7feaabd2fe1 Mon Sep 17 00:00:00 2001
From: chenshijun <csj_sky@126.com>
Date: 星期二, 22 十月 2019 14:52:49 +0800
Subject: [PATCH] 增加人脸跟踪检测的通道分辨率调整接口face_track_resize
---
csrc/buz/face/face.cpp | 17 +++++++++++++++++
sdk/face/lib/gpu/libTHFacialPos_lmp.so | 0
csrc/buz/face/face.h | 1 +
sdk/face/lib/gpu/libTHFaceDetect.so | 0
sdk/face/lib/gpu/libTHFacialPos.so | 0
csdk.h | 2 +-
csdk.cpp | 6 +++++-
sdk/face/lib/gpu/libTHDetect_dpbin.so | 0
gosdk.go | 6 ++++++
sdk/face/include/THFaceTracking_i.h | 15 +++++++++++++++
sdk/face/lib/gpu/libTHFaceTracking.so | 0
sdk/face/lib/gpu/libTHFacialPos_con.so | 0
12 files changed, 45 insertions(+), 2 deletions(-)
diff --git a/csdk.cpp b/csdk.cpp
index bda8823..b1caa41 100644
--- a/csdk.cpp
+++ b/csdk.cpp
@@ -31,12 +31,16 @@
}
int c_api_face_tracker_init(const int tm, const int gi, const int wid, const int hei,
- const int maxFaces, const int detinterval, const int sampleSize){
+ const int maxFaces, const int detinterval, const int sampleSize){
if (!face) face = new sdkface();
if (face) printf("create sdk face success\n");
return face->init_face_tracker(tm, gi, wid, hei, maxFaces, detinterval, sampleSize);
}
+int c_api_face_track_resize(const int chan, const int wid, const int hei){
+ return face->face_track_resize(chan, wid, hei);
+}
+
YoloHandle c_api_yolo_init(
const char *fcfg, const char *fweights, const char *fname,
const int gpu_index){
diff --git a/csdk.h b/csdk.h
index fb9f25e..a7f67ec 100644
--- a/csdk.h
+++ b/csdk.h
@@ -18,7 +18,7 @@
int c_api_face_extractor_init(const int tm, const int gi);
int c_api_face_tracker_init(const int tm, const int gi, const int wid, const int hei,
const int maxFaces, const int detinterval, const int sampleSize);
-
+int c_api_face_track_resize(const int chan, const int w, const int h);
YoloHandle c_api_yolo_init(
const char *fcfg, const char *fweights, const char *fname,
const int gpu_index);
diff --git a/csrc/buz/face/face.cpp b/csrc/buz/face/face.cpp
index 100d243..aa101a0 100644
--- a/csrc/buz/face/face.cpp
+++ b/csrc/buz/face/face.cpp
@@ -199,4 +199,21 @@
}
return nNum;
}
+
+ //THFACETRACKING_API int THFT_Reset(short nChannelID, THFT_Param* pParam);
+ int sdkface::face_track_resize(const int chan, const int w, const int h){
+ THFT_Param tmpParam;
+ tmpParam.nDeviceID = param.nDeviceID;
+ tmpParam.nImageWidth = w;
+ tmpParam.nImageHeight = h;
+ tmpParam.nMaxFaceNum = param.nMaxFaceNum;
+ tmpParam.nSampleSize = param.nSampleSize;
+ tmpParam.nDetectionIntervalFrame = param.nDetectionIntervalFrame;
+
+ printf("chan %d size: %dx%d", chan, w, h);
+
+ auto flag = THFT_Reset(chan, &tmpParam);
+
+ return flag;
+ }
}
\ No newline at end of file
diff --git a/csrc/buz/face/face.h b/csrc/buz/face/face.h
index 83b9368..bd10636 100644
--- a/csrc/buz/face/face.h
+++ b/csrc/buz/face/face.h
@@ -27,6 +27,7 @@
int init_face_tracker(const int tm, const int gi,const int w, const int h,
const int maxFaces, const int detinterval, const int sampleSize);
int face_track(const cIMAGE *img, const int chan, void **fInfo, int *fcnt);
+ int face_track_resize(const int chan, const int w, const int h);
private:
VecFunc dtors_;
// face detect
diff --git a/gosdk.go b/gosdk.go
index f8c5861..42b4dcd 100644
--- a/gosdk.go
+++ b/gosdk.go
@@ -69,6 +69,12 @@
C.c_api_face_tracker_init(C.int(tm), C.int(gi), C.int(w), C.int(h), C.int(maxFaces), C.int(interval), C.int(sample))
}
+// ResizeFaceTracker init face tracker
+func ResizeFaceTracker(ch, w, h int) int {
+
+ return int(C.c_api_face_track_resize(C.int(ch), C.int(w), C.int(h)))
+}
+
// Free free sdk
func Free() {
C.c_api_release()
diff --git a/sdk/face/include/THFaceTracking_i.h b/sdk/face/include/THFaceTracking_i.h
index 895631a..201b7df 100644
--- a/sdk/face/include/THFaceTracking_i.h
+++ b/sdk/face/include/THFaceTracking_i.h
@@ -176,5 +176,20 @@
3.if image has face(s),face number less than or equal to nMaxFaceNums
*/
+THFACETRACKING_API int THFT_Reset(short nChannelID, THFT_Param* pParam);
+/*
+The THFT_Reset function will reset parameters for an algorithm channel
+
+Parameters:
+ nChannelID[input],channel ID(from 0 to nChannelNum-1)
+ pParam[input],algorithm channel parameter.
+Return Values:
+ If the function succeeds, the return value is 0.
+ If the function fails, the return value is negative;
+error code:
+ -99,invalid license.
+Remarks:
+ NULL
+*/
#endif
diff --git a/sdk/face/lib/gpu/libTHDetect_dpbin.so b/sdk/face/lib/gpu/libTHDetect_dpbin.so
old mode 100644
new mode 100755
Binary files differ
diff --git a/sdk/face/lib/gpu/libTHFaceDetect.so b/sdk/face/lib/gpu/libTHFaceDetect.so
old mode 100644
new mode 100755
index 1cc5988..705eb86
--- a/sdk/face/lib/gpu/libTHFaceDetect.so
+++ b/sdk/face/lib/gpu/libTHFaceDetect.so
Binary files differ
diff --git a/sdk/face/lib/gpu/libTHFaceTracking.so b/sdk/face/lib/gpu/libTHFaceTracking.so
old mode 100644
new mode 100755
index 5f48464..3581385
--- a/sdk/face/lib/gpu/libTHFaceTracking.so
+++ b/sdk/face/lib/gpu/libTHFaceTracking.so
Binary files differ
diff --git a/sdk/face/lib/gpu/libTHFacialPos.so b/sdk/face/lib/gpu/libTHFacialPos.so
old mode 100644
new mode 100755
index b74530f..c71b3fc
--- a/sdk/face/lib/gpu/libTHFacialPos.so
+++ b/sdk/face/lib/gpu/libTHFacialPos.so
Binary files differ
diff --git a/sdk/face/lib/gpu/libTHFacialPos_con.so b/sdk/face/lib/gpu/libTHFacialPos_con.so
old mode 100644
new mode 100755
Binary files differ
diff --git a/sdk/face/lib/gpu/libTHFacialPos_lmp.so b/sdk/face/lib/gpu/libTHFacialPos_lmp.so
old mode 100644
new mode 100755
Binary files differ
--
Gitblit v1.8.0