|
|
@@ -1012,13 +1012,10 @@ private:
|
|
|
//人脸检测,对上次检测到的人脸区域进行搜索
|
|
|
bool FaceDetect(CameraEnum eCamera, CvRect rect)
|
|
|
{
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d Enter FaceDetect", __FUNCTION__, __LINE__);
|
|
|
-
|
|
|
if (!GetImage(eCamera)){
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d FaceDetect", __FUNCTION__, __LINE__);
|
|
|
CvMemStorage*pFaceStorage = NULL;
|
|
|
if (eCamera == EnvironCamera){
|
|
|
pFaceStorage = m_pFaceStorage;
|
|
|
@@ -1026,42 +1023,25 @@ private:
|
|
|
else{
|
|
|
pFaceStorage = m_pFaceStorage;
|
|
|
}
|
|
|
-
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d FaceDetect", __FUNCTION__, __LINE__);
|
|
|
|
|
|
CCustomerInfo UserFaceTemp;
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d FaceDetect", __FUNCTION__, __LINE__);
|
|
|
CCustomerInfo astFaceTemp;
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d FaceDetect", __FUNCTION__, __LINE__);
|
|
|
memset(&astFaceTemp,0,sizeof(CCustomerInfo));
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d FaceDetect", __FUNCTION__, __LINE__);
|
|
|
memset(&UserFaceTemp,0,sizeof(CCustomerInfo));
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d FaceDetect", __FUNCTION__, __LINE__);
|
|
|
CvRect* pFaceRect = NULL; //人脸矩形
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d FaceDetect", __FUNCTION__, __LINE__);
|
|
|
cvResetImageROI(m_pProcessImg);
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d FaceDetect", __FUNCTION__, __LINE__);
|
|
|
cvSetImageROI(m_pProcessImg,rect);
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d FaceDetect", __FUNCTION__, __LINE__);
|
|
|
//内存初始化
|
|
|
if (pFaceStorage){
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d FaceDetect", __FUNCTION__, __LINE__);
|
|
|
pFaceStorage = cvCreateMemStorage(0);
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d FaceDetect", __FUNCTION__, __LINE__);
|
|
|
cvClearMemStorage(pFaceStorage);
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d FaceDetect", __FUNCTION__, __LINE__);
|
|
|
}
|
|
|
else{
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d FaceDetect", __FUNCTION__, __LINE__);
|
|
|
pFaceStorage = cvCreateMemStorage(0);
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d FaceDetect", __FUNCTION__, __LINE__);
|
|
|
}
|
|
|
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d FaceDetect", __FUNCTION__, __LINE__);
|
|
|
-
|
|
|
//人脸搜索
|
|
|
if (m_pFaceCascade == NULL){
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d FaceDetect", __FUNCTION__, __LINE__);
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
@@ -1069,9 +1049,7 @@ private:
|
|
|
pfaceSeq = cvHaarDetectObjects(m_pProcessImg,m_pFaceCascade,pFaceStorage,1.2,3,CV_HAAR_DO_CANNY_PRUNING,cvSize(size,size));
|
|
|
if (!pfaceSeq || !pfaceSeq->total)
|
|
|
{
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d FaceDetect", __FUNCTION__, __LINE__);
|
|
|
cvReleaseMemStorage(&pfaceSeq->storage);
|
|
|
- m_pHostApi->Debug(FACECAP_DEBUG, "%s:%d FaceDetect", __FUNCTION__, __LINE__);
|
|
|
pfaceSeq = NULL;
|
|
|
return false;
|
|
|
}
|
|
|
@@ -1839,7 +1817,7 @@ private:
|
|
|
bRst = FaceSearch(size);
|
|
|
if (!bRst){
|
|
|
SetUpperbodyToCenter();
|
|
|
- iwaittime = m_stFaceConfig.nSleepMiddle;
|
|
|
+ iwaittime = m_stFaceConfig.nSleepLong;
|
|
|
}
|
|
|
else{
|
|
|
if (m_eMonitorState <= SomebodyFar){
|