|
@@ -433,7 +433,6 @@ private:
|
|
|
//写人脸检测数据
|
|
|
bool WriteAllFaceInfo(CAllFaceInfo faceInfo)
|
|
|
{
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d enter WriteAllFaceInfo, and m_eMonitorState = %d.", __FUNCTION__, __LINE__, m_eMonitorState);
|
|
|
#ifdef _WIN32
|
|
|
EnterCriticalSection(&CS);
|
|
|
#else
|
|
@@ -446,7 +445,7 @@ private:
|
|
|
#else
|
|
|
pthread_mutex_unlock(&cs_mutex);
|
|
|
#endif
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d exit WriteAllFaceInfo.", __FUNCTION__, __LINE__);
|
|
|
+
|
|
|
return true;
|
|
|
}
|
|
|
|
|
@@ -510,8 +509,6 @@ private:
|
|
|
if (NULL != m_pOperatorVideoQueue) {
|
|
|
(m_eCamera == EnvironCamera) ? (m_eCamera = OperatorCamera) : (m_eCamera = EnvironCamera);
|
|
|
}
|
|
|
-
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d Switch Detect Camera to %s.", __FUNCTION__, __LINE__, (m_eCamera == EnvironCamera) ? "EnvironCamera" : "OperatorCamera");
|
|
|
}
|
|
|
|
|
|
//计算人脸到机具的距离
|
|
@@ -581,7 +578,6 @@ private:
|
|
|
//失败时返回false
|
|
|
bool GetSpecifiedCameraImage(CameraEnum eCamera)
|
|
|
{
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d, eCamera = %s.", __FUNCTION__, __LINE__, (eCamera == EnvironCamera)?"EnvironCamera":"OperatorCamera");
|
|
|
if (eCamera == EnvironCamera){
|
|
|
if (m_pEnvironVideoQueue == NULL){
|
|
|
return false;
|
|
@@ -608,7 +604,6 @@ private:
|
|
|
//清空上次检测结果
|
|
|
void ClearInspectResult()
|
|
|
{
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d enter ClearInspectResult.", __FUNCTION__, __LINE__);
|
|
|
//清除上一次的记录
|
|
|
m_stAllFaceInfo.nTatolFaceNum = 0;
|
|
|
m_stAllFaceInfo.astFaceInfo[0].stCustomerCover.bIsClearFace = false;
|
|
@@ -621,13 +616,9 @@ private:
|
|
|
m_stAllFaceInfo.astFaceInfo[0].eSex = UncertainSex;
|
|
|
m_stAllFaceInfo.astFaceInfo[0].eYoungOld = UncertainAge;
|
|
|
m_stAllFaceInfo.astFaceInfo[0].eCamera = OperatorCamera;
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d set m_stAllFaceInfo.astFaceInfo[0].eCamera to OperatorCamera.", __FUNCTION__, __LINE__);
|
|
|
-
|
|
|
for (int i = 1; i < MAX_FACE_NUM; i++){
|
|
|
memset(&m_stAllFaceInfo.astFaceInfo[i], 0, sizeof(CCustomerInfo));
|
|
|
}
|
|
|
-
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d exit ClearInspectResult.", __FUNCTION__, __LINE__);
|
|
|
}
|
|
|
|
|
|
|
|
@@ -645,7 +636,6 @@ private:
|
|
|
RegionRect.y = pFaceRect->y;
|
|
|
RegionRect.width = pFaceRect->width;
|
|
|
RegionRect.height = (int)pFaceRect->height*1/2;
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d Eye RegionRect is RegionRect.x = %d, RegionRect.y = %d, RegionRect.width = %d, RegionRect.height = %d.", __FUNCTION__, __LINE__, RegionRect.x, RegionRect.y, RegionRect.width, RegionRect.height);
|
|
|
}
|
|
|
else if (pCascade == m_pNoseCascade)
|
|
|
{
|
|
@@ -654,7 +644,6 @@ private:
|
|
|
RegionRect.y = (int)pFaceRect->y+pFaceRect->height*1/6;
|
|
|
RegionRect.width = (int)pFaceRect->width*2/3;
|
|
|
RegionRect.height = (int)pFaceRect->height*2/3;
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d Nose RegionRect is RegionRect.x = %d, RegionRect.y = %d, RegionRect.width = %d, RegionRect.height = %d.", __FUNCTION__, __LINE__, RegionRect.x, RegionRect.y, RegionRect.width, RegionRect.height);
|
|
|
}
|
|
|
else if (pCascade == m_pMouthCascade)
|
|
|
{
|
|
@@ -663,7 +652,6 @@ private:
|
|
|
RegionRect.y = (int)pFaceRect->y+pFaceRect->height*1/2;
|
|
|
RegionRect.width = (int)pFaceRect->width;
|
|
|
RegionRect.height = (int)pFaceRect->height*1/2;
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d Mouth RegionRect is RegionRect.x = %d, RegionRect.y = %d, RegionRect.width = %d, RegionRect.height = %d.", __FUNCTION__, __LINE__, RegionRect.x, RegionRect.y, RegionRect.width, RegionRect.height);
|
|
|
}
|
|
|
|
|
|
CvRect RectTemp = cvRect(0,0,0,0);
|
|
@@ -677,9 +665,7 @@ private:
|
|
|
RegionRect.x += RectTemp.x;
|
|
|
RegionRect.y += RectTemp.y;
|
|
|
bSetRio = true;
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d m_pProcessImg->roi is not null new RegionRect is RegionRect.x = %d, RegionRect.y = %d, RegionRect.width = %d, RegionRect.height = %d.", __FUNCTION__, __LINE__, RegionRect.x, RegionRect.y, RegionRect.width, RegionRect.height);
|
|
|
- }
|
|
|
-
|
|
|
+ }
|
|
|
cvResetImageROI(m_pProcessImg);
|
|
|
cvSetImageROI(m_pProcessImg, RegionRect);
|
|
|
|
|
@@ -688,8 +674,7 @@ private:
|
|
|
cvResetImageROI(m_pProcessImg);
|
|
|
|
|
|
if(bSetRio){
|
|
|
- cvSetImageROI(m_pProcessImg, RectTemp);
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d after detect, cvSetImageROI RectTemp.x = %d, RectTemp.y = %d, RectTemp.width = %d, RectTemp.height = %d.", __FUNCTION__, __LINE__, RectTemp.x, RectTemp.y, RectTemp.width, RectTemp.height);
|
|
|
+ cvSetImageROI(m_pProcessImg,RectTemp);
|
|
|
}
|
|
|
|
|
|
if (pFacialFeatureSeq ? pFacialFeatureSeq->total : 0){
|
|
@@ -926,7 +911,6 @@ private:
|
|
|
ClearInspectResult();
|
|
|
}
|
|
|
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d 当前检测到的人脸数为%d.", __FUNCTION__, __LINE__, pfaceSeq->total);
|
|
|
for(int i = 0; i < (pfaceSeq ? pfaceSeq->total : 0)&&(i < MAX_FACE_NUM); i++)
|
|
|
{
|
|
|
m_stAllFaceInfo.nTatolFaceNum++;
|
|
@@ -957,12 +941,10 @@ private:
|
|
|
m_stAllFaceInfo.astFaceInfo[nFaceSerial].stCustomerCover.bShowMouth))
|
|
|
{
|
|
|
m_stAllFaceInfo.astFaceInfo[nFaceSerial].stCustomerCover.bIsClearFace = false;
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d face is not clear.", __FUNCTION__, __LINE__);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
m_stAllFaceInfo.astFaceInfo[nFaceSerial].stCustomerCover.bIsClearFace = true;
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d face is clear.", __FUNCTION__, __LINE__);
|
|
|
}
|
|
|
|
|
|
//计算当前人脸位置,如果当前人脸位置与上次人脸位置小于偏移量则取上次人脸位置,防止人脸图像跳变
|
|
@@ -1021,7 +1003,6 @@ private:
|
|
|
{
|
|
|
if((TempRegion != FaceError)&&(TempDistance != UncertainDistance))
|
|
|
{
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d (TempRegion != FaceError)&&(TempDistance != UncertainDistance).", __FUNCTION__, __LINE__);
|
|
|
CCustomerInfo Temp = UserFaceTemp;
|
|
|
UserFaceTemp = m_stAllFaceInfo.astFaceInfo[nFaceSerial];
|
|
|
m_stAllFaceInfo.astFaceInfo[nFaceSerial] = Temp;
|
|
@@ -1029,28 +1010,22 @@ private:
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d nFaceSerial = %d.", __FUNCTION__, __LINE__, nFaceSerial);
|
|
|
UserFaceTemp = m_stAllFaceInfo.astFaceInfo[nFaceSerial];
|
|
|
- memset(&m_stAllFaceInfo.astFaceInfo[nFaceSerial], 0, sizeof(CCustomerInfo));
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d 保存当前人脸信息到临时变量,并清空当前人脸信息.", __FUNCTION__, __LINE__);
|
|
|
+ memset(&m_stAllFaceInfo.astFaceInfo[nFaceSerial],0,sizeof(CCustomerInfo));
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d 没有比主人脸更居中的人脸.", __FUNCTION__, __LINE__);
|
|
|
nFaceSerial++;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
if((UserFaceTemp.stRegion.eRegion != FaceError)&&(UserFaceTemp.eDistance != UncertainDistance))
|
|
|
{
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d 有更居中的人脸,更新主人脸.", __FUNCTION__, __LINE__);
|
|
|
m_stAllFaceInfo.astFaceInfo[0].stRegion.stFaceRect = UserFaceTemp.stRegion.stFaceRect;
|
|
|
m_stAllFaceInfo.astFaceInfo[0].eDistance = UserFaceTemp.eDistance;
|
|
|
m_stAllFaceInfo.astFaceInfo[0].stRegion.eRegion = UserFaceTemp.stRegion.eRegion;
|
|
|
m_stAllFaceInfo.astFaceInfo[0].stRegion.stUpperBodyRect = UserFaceTemp.stRegion.stUpperBodyRect;
|
|
|
m_stAllFaceInfo.astFaceInfo[0].eCamera = UserFaceTemp.eCamera;
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d set m_stAllFaceInfo.astFaceInfo[0].eCamera = %d.", __FUNCTION__, __LINE__, UserFaceTemp.eCamera);
|
|
|
m_stAllFaceInfo.astFaceInfo[0].stCustomerCover = UserFaceTemp.stCustomerCover;
|
|
|
//计算人脸亮度
|
|
|
//if (m_stFaceConfig.nServersType == 0)
|
|
@@ -1060,10 +1035,6 @@ private:
|
|
|
// m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d m_stAllFaceInfo.astFaceInfo[0].eBrightness = %d.", __FUNCTION__, __LINE__, m_stAllFaceInfo.astFaceInfo[0].eBrightness);
|
|
|
//}
|
|
|
}
|
|
|
- else {
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d 不更新主人脸信息,人脸位置所在区域为%d, 人脸距离为%d.", __FUNCTION__, __LINE__, UserFaceTemp.stRegion.eRegion, UserFaceTemp.eDistance);
|
|
|
- }
|
|
|
-
|
|
|
//清空存储区
|
|
|
cvResetImageROI(m_pProcessImg);
|
|
|
if (pfaceSeq != NULL){
|
|
@@ -1099,12 +1070,9 @@ private:
|
|
|
//没检测到有人时,返回false
|
|
|
bool FaceDetectWithSpecifiedCameraRegion(CameraEnum eCamera, CvRect rect)
|
|
|
{
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d eCamera = %s, rect.x = %d, rect.y = %d, rect.width = %d, rect.height = %d.", __FUNCTION__, __LINE__, EnvironCamera == eCamera ? "EnvironCamera" : "OperatorCamera", rect.x, rect.y, rect.width, rect.height);
|
|
|
if (!GetSpecifiedCameraImage(eCamera)){
|
|
|
return false;
|
|
|
}
|
|
|
-
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d eCamera = %s, m_pProcessImg->width = %d, m_pProcessImg->height = %d.", __FUNCTION__, __LINE__, EnvironCamera == eCamera ? "EnvironCamera":"OperatorCamera", m_pProcessImg->width, m_pProcessImg->height);
|
|
|
|
|
|
CvMemStorage* pFaceStorage = NULL;
|
|
|
if (eCamera == EnvironCamera){
|
|
@@ -1121,13 +1089,9 @@ private:
|
|
|
|
|
|
CvRect* pFaceRect = NULL; //人脸矩形
|
|
|
cvResetImageROI(m_pProcessImg);
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d, m_pProcessImg->width = %d, m_pProcessImg->height = %d.", __FUNCTION__, __LINE__, m_pProcessImg->width, m_pProcessImg->height);
|
|
|
-
|
|
|
if (bIsRectValid(m_pProcessImg->width, m_pProcessImg->height, rect)) {
|
|
|
cvSetImageROI(m_pProcessImg, rect);
|
|
|
}
|
|
|
-
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d, cvSetImageROI rect.x = %d, rect.y = %d, rect.width = %d, rect.height = %d.", __FUNCTION__, __LINE__, rect.x, rect.y, rect.width, rect.height);
|
|
|
//内存初始化
|
|
|
if (pFaceStorage){
|
|
|
pFaceStorage = cvCreateMemStorage(0);
|
|
@@ -1143,7 +1107,6 @@ private:
|
|
|
}
|
|
|
|
|
|
int size = (int)m_nImgHeight/m_stFaceConfig.fDetectFaceSize;
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d m_pProcessImg = 0x%08x, m_pProcessImg->width = %d, m_pProcessImg->height= %d.", __FUNCTION__, __LINE__, m_pProcessImg, m_pProcessImg->width, m_pProcessImg->height);
|
|
|
pfaceSeq = cvHaarDetectObjects(m_pProcessImg, m_pFaceCascade, pFaceStorage, 1.2, 3, CV_HAAR_DO_CANNY_PRUNING, cvSize(size,size));
|
|
|
if (!pfaceSeq || !pfaceSeq->total)
|
|
|
{
|
|
@@ -1152,7 +1115,6 @@ private:
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d 当前检测到的人脸数为%d.", __FUNCTION__, __LINE__, pfaceSeq->total);
|
|
|
for(int i = 0; i < (pfaceSeq?pfaceSeq->total:0)&&(i<MAX_FACE_NUM); i++)
|
|
|
{
|
|
|
//获取脸部矩形
|
|
@@ -1243,22 +1205,17 @@ private:
|
|
|
|
|
|
if((UserFaceTemp.stRegion.eRegion != FaceError)&&(UserFaceTemp.eDistance != UncertainDistance))
|
|
|
{
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d 有更居中的人脸,更新主人脸.", __FUNCTION__, __LINE__);
|
|
|
m_stAllFaceInfo.astFaceInfo[0].stRegion.stFaceRect = UserFaceTemp.stRegion.stFaceRect;
|
|
|
m_stAllFaceInfo.astFaceInfo[0].eDistance = UserFaceTemp.eDistance;
|
|
|
m_stAllFaceInfo.astFaceInfo[0].stRegion.eRegion = UserFaceTemp.stRegion.eRegion;
|
|
|
m_stAllFaceInfo.astFaceInfo[0].stRegion.stUpperBodyRect = UserFaceTemp.stRegion.stUpperBodyRect;
|
|
|
m_stAllFaceInfo.astFaceInfo[0].eCamera = UserFaceTemp.eCamera;
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d set m_stAllFaceInfo.astFaceInfo[0].eCamera = %d.", __FUNCTION__, __LINE__, UserFaceTemp.eCamera);
|
|
|
m_stAllFaceInfo.astFaceInfo[0].stCustomerCover = UserFaceTemp.stCustomerCover;
|
|
|
//计算人脸亮度
|
|
|
//if (m_stFaceConfig.nServersType == 0){
|
|
|
// m_stAllFaceInfo.astFaceInfo[0].eBrightness = CalcFaceBrightness(m_pProcessImg,&m_stAllFaceInfo.astFaceInfo[0].stRegion.stFaceRect);
|
|
|
//}
|
|
|
}
|
|
|
- else {
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d 不更新主人脸信息,人脸位置所在区域为%d, 人脸距离为%d.", __FUNCTION__, __LINE__, UserFaceTemp.stRegion.eRegion, UserFaceTemp.eDistance);
|
|
|
- }
|
|
|
|
|
|
//清空存储区
|
|
|
if (pfaceSeq != NULL){
|
|
@@ -1407,13 +1364,11 @@ private:
|
|
|
pfaceSeq = cvHaarDetectObjects(m_pProcessImg, m_pFaceCascade, m_pFaceStorage, 1.2, 3, CV_HAAR_DO_CANNY_PRUNING, cvSize(nFaceLimit, nFaceLimit));
|
|
|
if (pfaceSeq && pfaceSeq->total)
|
|
|
{
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d 当前检测到的人脸数为%d.", __FUNCTION__, __LINE__, pfaceSeq->total);
|
|
|
for(int i = 0; i < (pfaceSeq?pfaceSeq->total:0); i++)
|
|
|
{
|
|
|
nFaceNum++;
|
|
|
//获取脸部矩形
|
|
|
CvRect* pFaceRect = (CvRect*)cvGetSeqElem(pfaceSeq, i);
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s, 第%d个人,人脸框位置为:(%d, %d, %d, %d).", m_eCamera == EnvironCamera ? "环境摄像头" : "操作摄像头", i+1, pFaceRect->x, pFaceRect->y, pFaceRect->width, pFaceRect->height);
|
|
|
//如果发现有人脸到达靠近区域,置有人靠近状态
|
|
|
if((pFaceRect->height >= (int)(m_nImgHeight/m_stFaceConfig.fCloseFaceSize))&&(pFaceRect->height <= (int)(m_nImgHeight/m_stFaceConfig.fOperateFaceSize)))
|
|
|
{
|
|
@@ -1449,14 +1404,11 @@ private:
|
|
|
}
|
|
|
|
|
|
CvRect* pFaceRect = (CvRect*)cvGetSeqElem(pfaceSeq, nCurafaceSerial);
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s, 当前[序号%d]人脸框位置为:(%d, %d, %d, %d).", m_eCamera == EnvironCamera ? "环境摄像头":"操作摄像头", nCurafaceSerial+1, pFaceRect->x, pFaceRect->y, pFaceRect->width, pFaceRect->height);
|
|
|
//截取人脸图像,放大截取区域,截取半身头像
|
|
|
CalcUpbodyRegion(pFaceRect);
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "截取放大后的人脸框位置为:(%d, %d, %d, %d).", pFaceRect->x, pFaceRect->y, pFaceRect->width, pFaceRect->height);
|
|
|
//保存半身头像坐标
|
|
|
m_stAllFaceInfo.astFaceInfo[0].stRegion.stUpperBodyRect = *pFaceRect;
|
|
|
m_stAllFaceInfo.astFaceInfo[0].eCamera = m_eCamera;
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d set m_stAllFaceInfo.astFaceInfo[0].eCamera = %d.", __FUNCTION__, __LINE__, m_eCamera);
|
|
|
}
|
|
|
else {
|
|
|
#ifdef DEVOPS_ON_PRD
|
|
@@ -1749,16 +1701,13 @@ private:
|
|
|
{
|
|
|
if (m_pOperatorVideoQueue == NULL){
|
|
|
m_stAllFaceInfo.astFaceInfo[0].eCamera = EnvironCamera;
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d set m_stAllFaceInfo.astFaceInfo[0].eCamera = EnvironCamera.", __FUNCTION__, __LINE__);
|
|
|
}
|
|
|
else{
|
|
|
m_stAllFaceInfo.astFaceInfo[0].eCamera = OperatorCamera;
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d set m_stAllFaceInfo.astFaceInfo[0].eCamera = OperatorCamera.", __FUNCTION__, __LINE__);
|
|
|
}
|
|
|
}
|
|
|
else{
|
|
|
m_stAllFaceInfo.astFaceInfo[0].eCamera = EnvironCamera;
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d set m_stAllFaceInfo.astFaceInfo[0].eCamera = EnvironCamera.", __FUNCTION__, __LINE__);
|
|
|
}
|
|
|
|
|
|
int nImgWidth = 0, nImgHeight = 0;
|
|
@@ -1795,7 +1744,6 @@ private:
|
|
|
m_stAllFaceInfo.astFaceInfo[0].stRegion.stUpperBodyRect.width = nImgWidth/2;
|
|
|
m_stAllFaceInfo.astFaceInfo[0].stRegion.stUpperBodyRect.x = nImgWidth/4;
|
|
|
m_stAllFaceInfo.astFaceInfo[0].stRegion.stUpperBodyRect.y = nImgHeight/4;
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d set m_stAllFaceInfo.astFaceInfo[0].stRegion.stUpperBodyRect to center[%d, %d, %d, %d].", __FUNCTION__, __LINE__, nImgWidth / 4, nImgHeight / 4, nImgWidth / 2, nImgHeight / 2);
|
|
|
WriteAllFaceInfo(m_stAllFaceInfo);
|
|
|
}
|
|
|
|
|
@@ -1889,8 +1837,6 @@ private:
|
|
|
|
|
|
uint32_t iwaittime = m_stFaceConfig.nSleepShort;
|
|
|
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d m_eCamera = %d, m_eMonitorState = %d, m_bStopVieoMonitor = %s.", __FUNCTION__, __LINE__, m_eCamera, m_eMonitorState, m_bStopVieoMonitor? "true" : "false");
|
|
|
-
|
|
|
while (!m_bStopVieoMonitor)
|
|
|
{
|
|
|
if(RvcTimeout(iwaittime))
|
|
@@ -1915,7 +1861,6 @@ private:
|
|
|
if (bRst){
|
|
|
int size = (int)m_nImgHeight/m_stFaceConfig.fSearchFaceSize;
|
|
|
bRst = FaceSearchWithSpecifiedSize(size);
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "camera[%d] face search with specified size result is %d.", m_eCamera, m_eMonitorState);
|
|
|
if (!bRst){
|
|
|
SetUpperbodyToCenter();
|
|
|
iwaittime = m_stFaceConfig.nSleepLong;
|
|
@@ -1938,7 +1883,6 @@ private:
|
|
|
if (bRst){
|
|
|
int size = (int)m_nImgHeight/m_stFaceConfig.fSearchFaceSize;
|
|
|
bRst = FaceSearchWithSpecifiedSize(size);
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "camera[%d] face search with specified size result is %d.", m_eCamera, m_eMonitorState);
|
|
|
if (!bRst){
|
|
|
SetUpperbodyToCenter();
|
|
|
iwaittime = m_stFaceConfig.nSleepLong;
|