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