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 | 31 +++++++++++++++++++++++++------ 1 files changed, 25 insertions(+), 6 deletions(-) diff --git a/csrc/buz/face/face.cpp b/csrc/buz/face/face.cpp index 33a6bcb..aa101a0 100644 --- a/csrc/buz/face/face.cpp +++ b/csrc/buz/face/face.cpp @@ -63,14 +63,16 @@ return -1; } - ::THFI_FacePos facesPos[maxFacePos]; - int faceNum = THFI_DetectFace(chan, (BYTE*)(img->data), 24, img->width, img->height, facesPos, 30); + if (fpos_ == NULL){ + fpos_ = (cFacePos*)malloc(maxFacePos * sizeof(cFacePos)); + } + + // ::THFI_FacePos facesPos[maxFacePos]; + int faceNum = THFI_DetectFace(chan, (BYTE*)(img->data), 24, img->width, img->height, + (::THFI_FacePos*)fpos_, maxFacePos); if (faceNum > 0) { - if (fpos_ == NULL){ - fpos_ = (cFacePos*)malloc(maxFacePos * sizeof(cFacePos)); - } - memcpy(fpos_, facesPos, sizeof(THFI_FacePos) * faceNum); + // memcpy(fpos_, facesPos, sizeof(THFI_FacePos) * faceNum); *fcnt = faceNum; *fpos = fpos_; } @@ -197,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 -- Gitblit v1.8.0