|
@@ -103,7 +103,7 @@ enum MonitorStateEnum
|
|
|
class Clibfacecapture_impl
|
|
|
{
|
|
|
public:
|
|
|
- Clibfacecapture_impl(bool *pResult,CHostApi *pHostAPI,CVideoMonitorEvent*pHost,LPCSTR EnvironMinVideoName,LPCSTR EnvironMaxVideoName,LPCSTR OperateVideoName=NULL,MonitorEnum eMonitorType=MotionTarckAndFaceDetect)
|
|
|
+ Clibfacecapture_impl(bool *pResult, CHostApi *pHostAPI, CVideoMonitorEvent*pHost, const char* EnvironMinVideoName, const char* EnvironMaxVideoName, const char* OperateVideoName = NULL, MonitorEnum eMonitorType = MotionTarckAndFaceDetect)
|
|
|
{
|
|
|
m_pResult = pResult;
|
|
|
m_pHostApi = pHostAPI;
|
|
@@ -156,7 +156,7 @@ public:
|
|
|
m_hStopEventWait= ::CreateEventA(NULL, TRUE, 0, 0);
|
|
|
if (!m_hStopEventWait) {
|
|
|
*pResult = false;
|
|
|
- pHostAPI->Debug("create hEventWait failed!");
|
|
|
+ pHostAPI->Debug(FACECAP_INFO, "create hEventWait failed!");
|
|
|
return;
|
|
|
}
|
|
|
|
|
@@ -166,7 +166,7 @@ public:
|
|
|
//读取配置文件
|
|
|
*pResult = pHostAPI->LoadConfig(m_stFaceConfig);
|
|
|
if (!*pResult){
|
|
|
- pHostAPI->Debug("Load Configuration failed!");
|
|
|
+ pHostAPI->Debug(FACECAP_INFO, "Load Configuration failed!");
|
|
|
return;
|
|
|
}
|
|
|
|
|
@@ -214,8 +214,8 @@ public:
|
|
|
|
|
|
bool StopFaceCapture()
|
|
|
{
|
|
|
- if (TRUE == StopVideoMonitor()){
|
|
|
- m_pHostApi->Debug("Stop Video Monitor Thread Success!");
|
|
|
+ if (true == StopVideoMonitor()){
|
|
|
+ m_pHostApi->Debug(FACECAP_DEBUG, "Stop Video Monitor Thread Success!");
|
|
|
}
|
|
|
|
|
|
if (NULL != m_pEnvironMinVideoQueue){
|
|
@@ -350,21 +350,21 @@ private:
|
|
|
FIGetDir(CASCADE_FACE, base_dir, dir);
|
|
|
m_pFaceCascade=(CvHaarClassifierCascade*)cvLoad(dir,NULL,NULL,NULL);
|
|
|
if (!m_pFaceCascade){
|
|
|
- m_pHostApi->Debug("加载脸部分类器失败!");
|
|
|
+ m_pHostApi->Debug(FACECAP_INFO, "加载脸部分类器失败!");
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
FIGetDir(CASCADE_EYE,base_dir,dir);
|
|
|
m_pEyeCascade=(CvHaarClassifierCascade*)cvLoad(dir,NULL,NULL,NULL);
|
|
|
if (!m_pEyeCascade){
|
|
|
- m_pHostApi->Debug("加载眼睛分类器失败!");
|
|
|
+ m_pHostApi->Debug(FACECAP_INFO, "加载眼睛分类器失败!");
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
FIGetDir(CASCADE_MOUTH,base_dir,dir);
|
|
|
m_pMouthCascade=(CvHaarClassifierCascade*)cvLoad(dir,NULL,NULL,NULL);
|
|
|
if (!m_pMouthCascade){
|
|
|
- m_pHostApi->Debug("加载嘴巴分类器失败!");
|
|
|
+ m_pHostApi->Debug(FACECAP_INFO, "加载嘴巴分类器失败!");
|
|
|
return false;
|
|
|
}
|
|
|
|
|
@@ -372,7 +372,7 @@ private:
|
|
|
m_pNoseCascade=(CvHaarClassifierCascade*)cvLoad(dir,NULL,NULL,NULL);
|
|
|
if (!m_pMouthCascade)
|
|
|
{
|
|
|
- m_pHostApi->Debug("加载鼻子分类器失败!");
|
|
|
+ m_pHostApi->Debug(FACECAP_INFO, "加载鼻子分类器失败!");
|
|
|
return false;
|
|
|
}
|
|
|
return true;
|
|
@@ -474,11 +474,11 @@ private:
|
|
|
{
|
|
|
if (videoqueue == m_pEnvironMinVideoQueue)
|
|
|
{
|
|
|
- m_pHostApi->Debug("获取环境相机图像队列长度错误!");
|
|
|
+ m_pHostApi->Debug(FACECAP_INFO, "获取环境相机图像队列长度错误!");
|
|
|
}
|
|
|
else if (videoqueue == m_pOperatorVideoQueue)
|
|
|
{
|
|
|
- //m_pHostApi->Debug("获取操作相机图像队列长度错误!");
|
|
|
+ m_pHostApi->Debug(FACECAP_INFO, "获取操作相机图像队列长度错误!");
|
|
|
}
|
|
|
return false;
|
|
|
}
|
|
@@ -486,23 +486,23 @@ private:
|
|
|
videoq_frame*videoframe = new videoq_frame;
|
|
|
if (m_pProcessImg == NULL)
|
|
|
{
|
|
|
- m_pProcessImg = cvCreateImage(cvSize(m_nImgWidth,m_nImgHeight),8, 3); //创建图像
|
|
|
+ m_pProcessImg = cvCreateImage(cvSize(m_nImgWidth,m_nImgHeight), 8, 3); //创建图像
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- if((m_pProcessImg->height!=m_nImgHeight)||(m_pProcessImg->width!=m_nImgWidth))
|
|
|
+ if((m_pProcessImg->height != m_nImgHeight)||(m_pProcessImg->width != m_nImgWidth))
|
|
|
{
|
|
|
cvReleaseImage(&m_pProcessImg);
|
|
|
m_pProcessImg = NULL;
|
|
|
- m_pProcessImg = cvCreateImage(cvSize(m_nImgWidth,m_nImgHeight),8, 3); //创建图像
|
|
|
+ m_pProcessImg = cvCreateImage(cvSize(m_nImgWidth,m_nImgHeight), 8, 3); //创建图像
|
|
|
}
|
|
|
}
|
|
|
videoframe->data = (unsigned char*)m_pProcessImg->imageData;
|
|
|
- bool bGetvideo = videoqueue->GetVideo(videoframe,0);
|
|
|
+ bool bGetvideo = videoqueue->GetVideo(videoframe, 0);
|
|
|
if (!bGetvideo)
|
|
|
{
|
|
|
delete videoframe;
|
|
|
- m_pHostApi->Debug("从队列获取图像错误!");
|
|
|
+ m_pHostApi->Debug(FACECAP_INFO, "从队列获取图像错误!");
|
|
|
return false;
|
|
|
}
|
|
|
m_nImgWidth = videoframe->width;
|
|
@@ -513,27 +513,22 @@ private:
|
|
|
|
|
|
bool GetImage(CameraEnum eCamera)
|
|
|
{
|
|
|
- if (eCamera == EnvironCamera)
|
|
|
- {
|
|
|
- if (m_pEnvironMinVideoQueue == NULL)
|
|
|
- {
|
|
|
+ if (eCamera == EnvironCamera){
|
|
|
+ if (m_pEnvironMinVideoQueue == NULL){
|
|
|
return false;
|
|
|
}
|
|
|
+
|
|
|
bool bRslt = GetCurImg(m_pEnvironMinVideoQueue);
|
|
|
- if (!bRslt)
|
|
|
- {
|
|
|
+ if (!bRslt){
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
- else if(eCamera == OperatorCamera)
|
|
|
- {
|
|
|
- if (m_pOperatorVideoQueue == NULL)
|
|
|
- {
|
|
|
+ else if(eCamera == OperatorCamera){
|
|
|
+ if (m_pOperatorVideoQueue == NULL){
|
|
|
return false;
|
|
|
}
|
|
|
bool bRslt = GetCurImg(m_pOperatorVideoQueue);
|
|
|
- if (!bRslt)
|
|
|
- {
|
|
|
+ if (!bRslt){
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
@@ -818,7 +813,7 @@ private:
|
|
|
ClearInspectResult();
|
|
|
return false;
|
|
|
}
|
|
|
- int size = (int)m_nImgHeight/m_stFaceConfig.fDetectFaceSize;
|
|
|
+ int size = (int)(m_nImgHeight/m_stFaceConfig.fDetectFaceSize);
|
|
|
pfaceSeq = cvHaarDetectObjects(m_pProcessImg,m_pFaceCascade,m_pFaceStorage,1.1,3,CV_HAAR_DO_CANNY_PRUNING,cvSize(size,size));
|
|
|
if (!pfaceSeq || !pfaceSeq->total)
|
|
|
{
|
|
@@ -1250,7 +1245,7 @@ private:
|
|
|
// cvSaveImage(strFileName,m_stCapFace[i].img);
|
|
|
// }
|
|
|
//}
|
|
|
- for(int j=0;j<3;j++)
|
|
|
+ for(int j = 0; j < 3; j++)
|
|
|
{
|
|
|
if(m_stCapFace[j].img != NULL)
|
|
|
{
|
|
@@ -1402,7 +1397,7 @@ private:
|
|
|
{
|
|
|
if((m_eMonitorState == NoBody) || (m_eMonitorState == SomebodyFar))
|
|
|
{
|
|
|
- m_pHostApi->Debug("有人靠近!");
|
|
|
+ m_pHostApi->Debug(FACECAP_INFO, "有人靠近!");
|
|
|
m_eMonitorState = SomebodyClose; //进入有人靠近状态
|
|
|
|
|
|
//截取人脸图像,放大截取区域,截取半身头像
|
|
@@ -1419,7 +1414,7 @@ private:
|
|
|
{
|
|
|
if(m_eMonitorState != SomebodyOperate)
|
|
|
{
|
|
|
- m_pHostApi->Debug("有人进入操作距离!");
|
|
|
+ m_pHostApi->Debug(FACECAP_INFO, "有人进入操作距离!");
|
|
|
m_eMonitorState = SomebodyOperate; //进入有人靠近状态
|
|
|
//截取人脸图像,放大截取区域,截取半身头像
|
|
|
pFaceRect->y = m_stObjTrackRslt.ObjRect[i].y+pFaceRect->y;
|
|
@@ -1437,7 +1432,7 @@ private:
|
|
|
m_stAllFaceInfo.astFaceInfo[0].stRegion.stUpperBodyRect.width = m_nImgWidth/2;
|
|
|
m_stAllFaceInfo.astFaceInfo[0].stRegion.stUpperBodyRect.x = m_nImgWidth/4;
|
|
|
m_stAllFaceInfo.astFaceInfo[0].stRegion.stUpperBodyRect.y = m_nImgHeight/4;
|
|
|
- m_pHostApi->Debug("有人出现!");
|
|
|
+ m_pHostApi->Debug(FACECAP_INFO, "有人出现!");
|
|
|
m_eMonitorState = SomebodyFar; //进入远距离有人状态
|
|
|
}
|
|
|
m_pHostEvent->GenerateAppearEvent(); //产生有人出现事件
|
|
@@ -1487,21 +1482,21 @@ private:
|
|
|
{
|
|
|
m_pFaceStorage = cvCreateMemStorage(0);
|
|
|
}
|
|
|
- pfaceSeq = cvHaarDetectObjects(m_pProcessImg,m_pFaceCascade,m_pFaceStorage,1.2,3,CV_HAAR_DO_CANNY_PRUNING,cvSize(nFaceLimit,nFaceLimit));
|
|
|
- if (pfaceSeq &&pfaceSeq->total)
|
|
|
+ pfaceSeq = cvHaarDetectObjects(m_pProcessImg, m_pFaceCascade, m_pFaceStorage, 1.2, 3, CV_HAAR_DO_CANNY_PRUNING, cvSize(nFaceLimit,nFaceLimit));
|
|
|
+ if (pfaceSeq && pfaceSeq->total)
|
|
|
{
|
|
|
- for(int i=0;i<(pfaceSeq?pfaceSeq->total:0);i++)
|
|
|
+ for(int i = 0; i < (pfaceSeq?pfaceSeq->total:0); i++)
|
|
|
{
|
|
|
nFaceNum++;
|
|
|
//获取脸部矩形
|
|
|
- CvRect*pFaceRect = (CvRect*)cvGetSeqElem(pfaceSeq,i);
|
|
|
+ CvRect* pFaceRect = (CvRect*)cvGetSeqElem(pfaceSeq, i);
|
|
|
//如果发现有人脸到达靠近区域,置有人靠近状态
|
|
|
if((pFaceRect->height >= (int)(m_nImgHeight/m_stFaceConfig.fCloseFaceSize))&&(pFaceRect->height <= (int)(m_nImgHeight/m_stFaceConfig.fOperateFaceSize)))
|
|
|
{
|
|
|
if((m_eMonitorState == NoBody) || (m_eMonitorState == SomebodyFar))
|
|
|
{
|
|
|
nCurafaceSerial = nFaceNum;
|
|
|
- m_pHostApi->Debug("有人靠近!");
|
|
|
+ m_pHostApi->Debug(FACECAP_INFO, "有人靠近!");
|
|
|
m_eMonitorState = SomebodyClose; //进入有人靠近状态
|
|
|
}
|
|
|
m_pHostEvent->GenerateCloseEvent(); //产生有人靠近事件
|
|
@@ -1511,7 +1506,7 @@ private:
|
|
|
if(m_eMonitorState != SomebodyOperate)
|
|
|
{
|
|
|
nCurafaceSerial = nFaceNum;
|
|
|
- m_pHostApi->Debug("有人进入操作距离!");
|
|
|
+ m_pHostApi->Debug(FACECAP_INFO, "有人进入操作距离!");
|
|
|
m_eMonitorState = SomebodyOperate; //进入有人靠近状态
|
|
|
}
|
|
|
m_pHostEvent->GenerateEnterOperateEvent(); //产生有人进入操作距离事件
|
|
@@ -1521,22 +1516,26 @@ private:
|
|
|
if(m_eMonitorState == NoBody)
|
|
|
{
|
|
|
nCurafaceSerial = nFaceNum;
|
|
|
- m_pHostApi->Debug("有人出现!");
|
|
|
+ m_pHostApi->Debug(FACECAP_INFO, "有人出现!");
|
|
|
m_eMonitorState = SomebodyFar; //进入远距离有人状态
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- m_pHostApi->Debug("远距离,有人出现!");
|
|
|
+ m_pHostApi->Debug(FACECAP_INFO, "远距离,有人出现!");
|
|
|
m_eMonitorState = SomebodyFar; //进入远距离有人状态
|
|
|
}
|
|
|
m_pHostEvent->GenerateAppearEvent(); //产生有人出现事件
|
|
|
}
|
|
|
}
|
|
|
- CvRect*pFaceRect = (CvRect*)cvGetSeqElem(pfaceSeq,nCurafaceSerial);
|
|
|
+ CvRect*pFaceRect = (CvRect*)cvGetSeqElem(pfaceSeq, nCurafaceSerial);
|
|
|
//截取人脸图像,放大截取区域,截取半身头像
|
|
|
CalcUpbodyRegion(pFaceRect);
|
|
|
m_stAllFaceInfo.astFaceInfo[0].stRegion.stUpperBodyRect = *pFaceRect;
|
|
|
}
|
|
|
+ else {
|
|
|
+ m_pHostApi->Debug(FACECAP_DEBUG, "未检测到人脸");
|
|
|
+ }
|
|
|
+
|
|
|
if (pfaceSeq != NULL)
|
|
|
{
|
|
|
cvReleaseMemStorage(&pfaceSeq->storage);
|
|
@@ -1670,7 +1669,7 @@ private:
|
|
|
void RecordError(char*error, ...)
|
|
|
{
|
|
|
#ifdef debugerror
|
|
|
- m_pHostApi->Debug(error);
|
|
|
+ m_pHostApi->Debug(FACECAP_INFO, error);
|
|
|
#endif
|
|
|
}
|
|
|
|
|
@@ -1684,7 +1683,7 @@ private:
|
|
|
m_eMonitorState = SomebodyOperate;
|
|
|
m_stAllFaceInfo.astFaceInfo[0].eScene = ForwardScened;
|
|
|
m_pHostEvent->GenerateEnterOperateEvent(); //产生有人进入操作距离事件
|
|
|
- m_pHostApi->Debug("有人进入操作距离!");
|
|
|
+ m_pHostApi->Debug(FACECAP_INFO, "有人进入操作距离!");
|
|
|
//获取UUID
|
|
|
if (m_stAllFaceInfo.astFaceInfo[0].FaceID == 0)
|
|
|
{
|
|
@@ -1714,7 +1713,7 @@ private:
|
|
|
m_stAllFaceInfo.astFaceInfo[0].stRegion.stUpperBodyRect.x = m_nImgHeight/4;
|
|
|
m_stAllFaceInfo.astFaceInfo[0].stRegion.stUpperBodyRect.y = m_nImgWidth/4;
|
|
|
m_pHostEvent->GenerateLeaveEvent(); //产生客户离开事件
|
|
|
- m_pHostApi->Debug("客户离开!");
|
|
|
+ m_pHostApi->Debug(FACECAP_INFO, "客户离开!");
|
|
|
//清除UUID
|
|
|
m_stAllFaceInfo.astFaceInfo[0].FaceID = 0;
|
|
|
}
|
|
@@ -1726,13 +1725,13 @@ private:
|
|
|
m_stAllFaceInfo.astFaceInfo[0].eScene = BackwardScened;
|
|
|
m_eMonitorState = SomebodyClose;
|
|
|
m_pHostEvent->GenerateBackToCloseEvent(); //产生客户退回到接近距离事件
|
|
|
- m_pHostApi->Debug("客户退回到接近距离!");
|
|
|
+ m_pHostApi->Debug(FACECAP_INFO, "客户退回到接近距离!");
|
|
|
}
|
|
|
else if(SomebodyFar == m_eMonitorState)
|
|
|
{
|
|
|
m_stAllFaceInfo.astFaceInfo[0].eScene = ForwardScened;
|
|
|
m_eMonitorState = SomebodyClose;
|
|
|
- m_pHostApi->Debug("有人靠近!");
|
|
|
+ m_pHostApi->Debug(FACECAP_INFO, "有人靠近!");
|
|
|
//获取UUID
|
|
|
if (m_stAllFaceInfo.astFaceInfo[0].FaceID == 0)
|
|
|
{
|
|
@@ -1792,7 +1791,7 @@ private:
|
|
|
}
|
|
|
if (m_pEnvironMinVideoQueue->GetVideoLens()<=0)
|
|
|
{
|
|
|
- m_pHostApi->Debug("获取环境相机图像队列长度错误!");
|
|
|
+ m_pHostApi->Debug(FACECAP_INFO, "获取环境相机图像队列长度错误!");
|
|
|
return ;
|
|
|
}
|
|
|
int size = m_pEnvironMinVideoQueue->GetFrameSize(nImgWidth,nImgHeight);
|
|
@@ -1845,7 +1844,7 @@ private:
|
|
|
}
|
|
|
if (m_pEnvironMinVideoQueue->GetVideoLens()<=0)
|
|
|
{
|
|
|
- m_pHostApi->Debug("获取环境相机图像队列长度错误!");
|
|
|
+ m_pHostApi->Debug(FACECAP_INFO, "获取环境相机图像队列长度错误!");
|
|
|
return ;
|
|
|
}
|
|
|
int size = m_pEnvironMinVideoQueue->GetFrameSize(nImgWidth,nImgHeight);
|
|
@@ -1913,7 +1912,7 @@ private:
|
|
|
//select camera
|
|
|
if (m_pOperatorVideoQueue != NULL)
|
|
|
{
|
|
|
- m_pHostApi->Debug("m_pOperatorVideoQueue != NULL.");
|
|
|
+ m_pHostApi->Debug(FACECAP_DEBUG, "m_pOperatorVideoQueue != NULL.");
|
|
|
m_eCamera = (CameraEnum)m_stFaceConfig.nPrimCamera;
|
|
|
}
|
|
|
else
|
|
@@ -1942,7 +1941,7 @@ private:
|
|
|
if (m_nCameraState == 3)
|
|
|
{
|
|
|
FSleep(2000);
|
|
|
- m_pHostApi->Debug("camera stop or all camera error!");
|
|
|
+ m_pHostApi->Debug(FACECAP_INFO, "camera stop or all camera error!");
|
|
|
continue;
|
|
|
}
|
|
|
//灯光变化时,清空历史记录,防止误判
|
|
@@ -1955,7 +1954,7 @@ private:
|
|
|
//if no people,start motion tracker
|
|
|
if(NoBody == m_eMonitorState)
|
|
|
{
|
|
|
- m_pHostApi->Debug("NoBody");
|
|
|
+ m_pHostApi->Debug(FACECAP_INFO, "NoBody");
|
|
|
////if no people,start motion tracker
|
|
|
//bRst = MotionTrack(m_eCamera,m_stFaceConfig.nThresholdNum);
|
|
|
//if (!bRst)
|
|
@@ -2040,7 +2039,7 @@ private:
|
|
|
}
|
|
|
else if (SomebodyFar == m_eMonitorState) //if somebody space 2.5m
|
|
|
{
|
|
|
- m_pHostApi->Debug("SomebodyFar");
|
|
|
+ m_pHostApi->Debug(FACECAP_INFO, "SomebodyFar");
|
|
|
//RecordError("Enter far distance search Face ");
|
|
|
bRst = GetImage(m_eCamera);
|
|
|
if (bRst)
|
|
@@ -2072,7 +2071,7 @@ private:
|
|
|
}
|
|
|
else if (SomebodyClose == m_eMonitorState) //close distance,1.5m
|
|
|
{
|
|
|
- m_pHostApi->Debug("SomebodyClose");
|
|
|
+ m_pHostApi->Debug(FACECAP_INFO, "SomebodyClose");
|
|
|
//RecordError("close distance,search Face by operatorCamera");
|
|
|
bRst = FaceDetect(m_eCamera);
|
|
|
if(!bRst)
|
|
@@ -2093,7 +2092,7 @@ private:
|
|
|
SetUpperbodyToCenter();
|
|
|
m_eMonitorState = NoBody;
|
|
|
m_pHostEvent->GenerateLeaveEvent();
|
|
|
- m_pHostApi->Debug("客户离开!");
|
|
|
+ m_pHostApi->Debug(FACECAP_INFO, "客户离开!");
|
|
|
nSearchFailNum = 0;
|
|
|
FSleep(m_stFaceConfig.nSleepLong);
|
|
|
}
|
|
@@ -2121,7 +2120,7 @@ private:
|
|
|
SetUpperbodyToCenter();
|
|
|
m_eMonitorState = NoBody;
|
|
|
m_pHostEvent->GenerateLeaveEvent();
|
|
|
- m_pHostApi->Debug("客户离开!");
|
|
|
+ m_pHostApi->Debug(FACECAP_INFO, "客户离开!");
|
|
|
nSearchFailNum = 0;
|
|
|
FSleep(m_stFaceConfig.nSleepLong);
|
|
|
}
|
|
@@ -2168,7 +2167,7 @@ private:
|
|
|
}
|
|
|
else if (SomebodyOperate == m_eMonitorState) //当有人进入操作距离时
|
|
|
{
|
|
|
- m_pHostApi->Debug("SomebodyOperate");
|
|
|
+ m_pHostApi->Debug(FACECAP_INFO, "SomebodyOperate");
|
|
|
//如果是双相机模式
|
|
|
if (m_pOperatorVideoQueue != NULL)
|
|
|
{
|
|
@@ -2181,7 +2180,7 @@ private:
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- bRst = FALSE;
|
|
|
+ bRst = false;
|
|
|
}
|
|
|
if(!bRst)
|
|
|
{
|
|
@@ -2200,7 +2199,7 @@ private:
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- bRst = FALSE;
|
|
|
+ bRst = false;
|
|
|
}
|
|
|
if(!bRst)
|
|
|
{
|
|
@@ -2294,7 +2293,7 @@ private:
|
|
|
m_eMonitorState = SomebodyClose;
|
|
|
m_stAllFaceInfo.astFaceInfo[0].eScene = UnLockScene;
|
|
|
m_pHostEvent->GenerateLoseFaceEvent(); //发送失去人脸事件
|
|
|
- m_pHostApi->Debug("人脸失去锁定!");
|
|
|
+ m_pHostApi->Debug(FACECAP_INFO, "人脸失去锁定!");
|
|
|
nDetectFailNum = 0;
|
|
|
}
|
|
|
FSleep(m_stFaceConfig.nSleepShort);
|
|
@@ -2309,7 +2308,7 @@ private:
|
|
|
m_eMonitorState = SomebodyClose;
|
|
|
m_stAllFaceInfo.astFaceInfo[0].eScene = UnLockScene;
|
|
|
m_pHostEvent->GenerateLoseFaceEvent(); //发送失去人脸事件
|
|
|
- m_pHostApi->Debug("人脸失去锁定!");
|
|
|
+ m_pHostApi->Debug(FACECAP_INFO, "人脸失去锁定!");
|
|
|
nDetectFailNum = 0;
|
|
|
}
|
|
|
FSleep(m_stFaceConfig.nSleepShort);
|
|
@@ -2334,10 +2333,10 @@ private:
|
|
|
if (nBreakDownNum == 5)
|
|
|
{
|
|
|
m_pHostEvent->GenerateFaceCaptureFC(); //发送人脸崩溃事件
|
|
|
- m_pHostApi->Debug("opencv library breakdown!");
|
|
|
+ m_pHostApi->Debug(FACECAP_INFO, "opencv library breakdown!");
|
|
|
}
|
|
|
Sleep(3*m_stFaceConfig.nSleepShort);
|
|
|
- m_pHostApi->Debug("stop Video Monitor.");
|
|
|
+ m_pHostApi->Debug(FACECAP_DEBUG, "****** stop Video Monitor ********");
|
|
|
}
|
|
|
}
|
|
|
return 0;
|
|
@@ -2354,7 +2353,7 @@ public:
|
|
|
bool StartVideoMonitor(CHostApi *pHostAPI, CVideoMonitorEvent*pHost, MonitorEnum eMonitorType)
|
|
|
{
|
|
|
if (m_hVieoMonitorThread == NULL){
|
|
|
- m_pHostApi->Debug("create video monitor thread.");
|
|
|
+ m_pHostApi->Debug(FACECAP_DEBUG, "create video monitor thread.");
|
|
|
m_hVieoMonitorThread = (HANDLE)_beginthreadex(NULL, 0, VideoMonitorThread, this, 0, (unsigned int*)&m_nVieoMonitorThreadId);
|
|
|
}
|
|
|
return true;
|
|
@@ -2573,9 +2572,9 @@ public:
|
|
|
|
|
|
// 这是已导出类的构造函数。
|
|
|
// 有关类定义的信息,请参阅 libfacecapture.h
|
|
|
-Clibfacecapture::Clibfacecapture(bool *pResult,CHostApi *pHostAPI,CVideoMonitorEvent*pHost,LPCSTR EnvironMinVideoName,LPCSTR EnvironMaxVideoName,LPCSTR OperateVideoName,MonitorEnum eMonitorType)
|
|
|
+Clibfacecapture::Clibfacecapture(bool *pResult, CHostApi *pHostAPI, CVideoMonitorEvent*pHost, const char* EnvironMinVideoName, const char* EnvironMaxVideoName, const char* OperateVideoName, MonitorEnum eMonitorType)
|
|
|
{
|
|
|
- m_pImpl = new Clibfacecapture_impl(pResult,pHostAPI,pHost,EnvironMinVideoName,EnvironMaxVideoName,OperateVideoName,eMonitorType);
|
|
|
+ m_pImpl = new Clibfacecapture_impl(pResult, pHostAPI, pHost, EnvironMinVideoName, EnvironMaxVideoName, OperateVideoName, eMonitorType);
|
|
|
}
|
|
|
|
|
|
Clibfacecapture::~Clibfacecapture(void)
|