| | |
| | | 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_; |
| | | } |
| | |
| | | } |
| | | 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; |
| | | } |
| | | } |