Fixed ~20 potential errors identified by the MS complier.
This commit is contained in:
@@ -1048,7 +1048,7 @@ public:
|
||||
virtual void SetFileName(char* DataBaseName)
|
||||
{
|
||||
if(m_HistMat.m_Volume!=m_HistVolumeSaved)SaveHist();
|
||||
m_DataFileName[0] = 0;
|
||||
m_DataFileName[0] = m_DataFileName[1000] = 0;
|
||||
|
||||
if(DataBaseName)
|
||||
{
|
||||
@@ -1496,7 +1496,7 @@ public:
|
||||
virtual void SetFileName(char* DataBaseName)
|
||||
{
|
||||
if(m_pTrainData)SaveStatModel();
|
||||
m_DataFileName[0] = 0;
|
||||
m_DataFileName[0] = m_DataFileName[1000] = 0;
|
||||
if(DataBaseName)
|
||||
{
|
||||
strncpy(m_DataFileName,DataBaseName,1000);
|
||||
|
@@ -565,7 +565,7 @@ public:
|
||||
|
||||
virtual void SetFileName(char* DataBaseName)
|
||||
{
|
||||
m_DataFileName[0] = 0;
|
||||
m_DataFileName[0] = m_DataFileName[1000] = 0;
|
||||
if(DataBaseName)
|
||||
{
|
||||
strncpy(m_DataFileName,DataBaseName,1000);
|
||||
|
@@ -302,120 +302,137 @@ void FaceDetection::FindFace(IplImage *img)
|
||||
void FaceDetection::FindCandidats()
|
||||
{
|
||||
bool bFound1 = false;
|
||||
MouthFaceTemplate * lpFaceTemplate1;
|
||||
RFace * lpFace1;
|
||||
MouthFaceTemplate * lpFaceTemplate1 = 0;
|
||||
RFace * lpFace1 = 0;
|
||||
bool bInvalidRect1 = false;
|
||||
CvRect * lpRect1 = NULL;
|
||||
|
||||
for (int i = 0; i < m_seqRects->total; i++)
|
||||
try
|
||||
{
|
||||
CvContourRect* pRect = (CvContourRect*)cvGetSeqElem(m_seqRects, i);
|
||||
CvRect rect = pRect->r;
|
||||
if (rect.width >= 2*rect.height)
|
||||
for (int i = 0; i < m_seqRects->total; i++)
|
||||
{
|
||||
CvContourRect* pRect = (CvContourRect*)cvGetSeqElem(m_seqRects, i);
|
||||
CvRect rect = pRect->r;
|
||||
if (rect.width >= 2*rect.height)
|
||||
{
|
||||
|
||||
lpFaceTemplate1 = new MouthFaceTemplate(3,rect,3*(double)rect.width/(double)4,
|
||||
3*(double)rect.width/(double)4,
|
||||
(double)rect.width/(double)2,
|
||||
(double)rect.width/(double)2);
|
||||
lpFaceTemplate1 = new MouthFaceTemplate(3,rect,3*(double)rect.width/(double)4,
|
||||
3*(double)rect.width/(double)4,
|
||||
(double)rect.width/(double)2,
|
||||
(double)rect.width/(double)2);
|
||||
|
||||
|
||||
lpFace1 = new RFace(lpFaceTemplate1);
|
||||
lpFace1 = new RFace(lpFaceTemplate1);
|
||||
|
||||
for (int j = 0; j < m_seqRects->total; j++)
|
||||
{
|
||||
CvContourRect* pRect = (CvContourRect*)cvGetSeqElem(m_seqRects, j);
|
||||
for (int j = 0; j < m_seqRects->total; j++)
|
||||
{
|
||||
CvContourRect* pRect = (CvContourRect*)cvGetSeqElem(m_seqRects, j);
|
||||
|
||||
if ( !bInvalidRect1 )
|
||||
{
|
||||
lpRect1 = NULL;
|
||||
lpRect1 = new CvRect();
|
||||
*lpRect1 = pRect->r;
|
||||
}else
|
||||
{
|
||||
delete lpRect1;
|
||||
lpRect1 = new CvRect();
|
||||
*lpRect1 = pRect->r;
|
||||
if ( !bInvalidRect1 )
|
||||
{
|
||||
lpRect1 = NULL;
|
||||
lpRect1 = new CvRect();
|
||||
*lpRect1 = pRect->r;
|
||||
}else
|
||||
{
|
||||
delete lpRect1;
|
||||
lpRect1 = new CvRect();
|
||||
*lpRect1 = pRect->r;
|
||||
}
|
||||
|
||||
|
||||
if ( lpFace1->isFeature(lpRect1) )
|
||||
{
|
||||
bFound1 = true;
|
||||
bInvalidRect1 = false;
|
||||
}else
|
||||
bInvalidRect1 = true;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
if ( lpFace1->isFeature(lpRect1) )
|
||||
{
|
||||
bFound1 = true;
|
||||
bInvalidRect1 = false;
|
||||
|
||||
|
||||
if (bFound1)
|
||||
{
|
||||
m_pFaceList->AddElem(lpFace1);
|
||||
bFound1 = false;
|
||||
lpFace1 = NULL;
|
||||
}else
|
||||
bInvalidRect1 = true;
|
||||
{
|
||||
delete lpFace1;
|
||||
lpFace1 = NULL;
|
||||
}
|
||||
|
||||
|
||||
delete lpFaceTemplate1;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
if (bFound1)
|
||||
{
|
||||
m_pFaceList->AddElem(lpFace1);
|
||||
bFound1 = false;
|
||||
lpFace1 = NULL;
|
||||
}else
|
||||
{
|
||||
delete lpFace1;
|
||||
lpFace1 = NULL;
|
||||
}
|
||||
|
||||
|
||||
delete lpFaceTemplate1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
catch(...)
|
||||
{
|
||||
delete lpFaceTemplate1;
|
||||
delete lpFace1;
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void FaceDetection::PostBoostingFindCandidats(IplImage * FaceImage)
|
||||
{
|
||||
BoostingFaceTemplate * lpFaceTemplate1;
|
||||
RFace * lpFace1;
|
||||
BoostingFaceTemplate * lpFaceTemplate1 = 0;
|
||||
RFace * lpFace1 = 0;
|
||||
bool bInvalidRect1 = false;
|
||||
CvRect * lpRect1 = NULL;
|
||||
|
||||
if ( ( !FaceImage->roi ) )
|
||||
lpFaceTemplate1 = new BoostingFaceTemplate(3,cvRect(0,0,FaceImage->width,FaceImage->height));
|
||||
else
|
||||
lpFaceTemplate1 = new BoostingFaceTemplate(3,cvRect(FaceImage->roi->xOffset,FaceImage->roi->yOffset,
|
||||
FaceImage->roi->width,FaceImage->roi->height));
|
||||
|
||||
lpFace1 = new RFace(lpFaceTemplate1);
|
||||
|
||||
for (int i = 0; i < m_seqRects->total; i++)
|
||||
try
|
||||
{
|
||||
CvContourRect* pRect = (CvContourRect*)cvGetSeqElem(m_seqRects, i);
|
||||
if ( ( !FaceImage->roi ) )
|
||||
lpFaceTemplate1 = new BoostingFaceTemplate(3,cvRect(0,0,FaceImage->width,FaceImage->height));
|
||||
else
|
||||
lpFaceTemplate1 = new BoostingFaceTemplate(3,cvRect(FaceImage->roi->xOffset,FaceImage->roi->yOffset,
|
||||
FaceImage->roi->width,FaceImage->roi->height));
|
||||
|
||||
lpFace1 = new RFace(lpFaceTemplate1);
|
||||
|
||||
for (int i = 0; i < m_seqRects->total; i++)
|
||||
{
|
||||
CvContourRect* pRect = (CvContourRect*)cvGetSeqElem(m_seqRects, i);
|
||||
|
||||
if ( !bInvalidRect1 )
|
||||
{
|
||||
lpRect1 = NULL;
|
||||
lpRect1 = new CvRect();
|
||||
*lpRect1 = pRect->r;
|
||||
}else
|
||||
{
|
||||
delete lpRect1;
|
||||
lpRect1 = new CvRect();
|
||||
*lpRect1 = pRect->r;
|
||||
if ( !bInvalidRect1 )
|
||||
{
|
||||
lpRect1 = NULL;
|
||||
lpRect1 = new CvRect();
|
||||
*lpRect1 = pRect->r;
|
||||
}else
|
||||
{
|
||||
delete lpRect1;
|
||||
lpRect1 = new CvRect();
|
||||
*lpRect1 = pRect->r;
|
||||
}
|
||||
|
||||
|
||||
if ( lpFace1->isFeature(lpRect1) )
|
||||
{
|
||||
//bFound1 = true;
|
||||
bInvalidRect1 = false;
|
||||
}else
|
||||
bInvalidRect1 = true;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
if ( lpFace1->isFeature(lpRect1) )
|
||||
{
|
||||
//bFound1 = true;
|
||||
bInvalidRect1 = false;
|
||||
}else
|
||||
bInvalidRect1 = true;
|
||||
|
||||
|
||||
m_pFaceList->AddElem(lpFace1);
|
||||
lpFace1 = NULL;
|
||||
|
||||
delete lpFaceTemplate1;
|
||||
}
|
||||
catch(...)
|
||||
{
|
||||
delete lpFace1;
|
||||
delete lpFaceTemplate1;
|
||||
throw;
|
||||
}
|
||||
|
||||
m_pFaceList->AddElem(lpFace1);
|
||||
|
||||
delete lpFaceTemplate1;
|
||||
|
||||
}//void FaceDetection::PostBoostingFindCandidats(IplImage * FaceImage)
|
||||
|
||||
/////////////////////////
|
||||
|
@@ -1750,7 +1750,7 @@ static int _cvConvertSameOrientation(CvVoronoiDiagram2D* VoronoiDiagram,
|
||||
CvSet *NewSiteSeq = NULL,*CurrNewSiteSeq = NULL, *PrevNewSiteSeq = NULL;;
|
||||
CvSeqWriter SiteWriter;
|
||||
|
||||
CvVoronoiSite2D NewSite = {{0,0},{0,0},{0,0}},NewSite_prev;
|
||||
CvVoronoiSite2D NewSite = {{0,0},{0,0},{0,0}},NewSite_prev = {{0,0},{0,0},{0,0}};
|
||||
CvVoronoiSite2D *pNewSite, *pNewSite_prev = &NewSite_prev;
|
||||
pCvVoronoiSite pSite,pFirstSite;
|
||||
|
||||
@@ -1940,7 +1940,7 @@ static int _cvConvertChangeOrientation(CvVoronoiDiagram2D* VoronoiDiagram,
|
||||
CvSet *NewSiteSeq = NULL,*CurrNewSiteSeq = NULL, *PrevNewSiteSeq = NULL;;
|
||||
CvSeqWriter SiteWriter;
|
||||
|
||||
CvVoronoiSite2D NewSite = {{0,0},{0,0},{0,0}},NewSite_prev;
|
||||
CvVoronoiSite2D NewSite = {{0,0},{0,0},{0,0}},NewSite_prev = {{0,0},{0,0},{0,0}};
|
||||
CvVoronoiSite2D *pNewSite, *pNewSite_prev = &NewSite_prev;
|
||||
pCvVoronoiSite pSite,pFirstSite;
|
||||
|
||||
|
@@ -336,10 +336,18 @@ CvLSH* cvCreateLSH(CvLSHOperations* ops, int d, int L, int k, int type, double r
|
||||
if (type != CV_32FC1 && type != CV_64FC1)
|
||||
CV_Error(CV_StsUnsupportedFormat, "vectors must be either CV_32FC1 or CV_64FC1");
|
||||
lsh = new CvLSH;
|
||||
lsh->type = type;
|
||||
switch (type) {
|
||||
case CV_32FC1: lsh->u.lsh_32f = new lsh_pstable_l2_32f(ops, d, L, k, r, rng); break;
|
||||
case CV_64FC1: lsh->u.lsh_64f = new lsh_pstable_l2_64f(ops, d, L, k, r, rng); break;
|
||||
try
|
||||
{
|
||||
lsh->type = type;
|
||||
switch (type) {
|
||||
case CV_32FC1: lsh->u.lsh_32f = new lsh_pstable_l2_32f(ops, d, L, k, r, rng); break;
|
||||
case CV_64FC1: lsh->u.lsh_64f = new lsh_pstable_l2_64f(ops, d, L, k, r, rng); break;
|
||||
}
|
||||
}
|
||||
catch(...)
|
||||
{
|
||||
delete lsh;
|
||||
throw;
|
||||
}
|
||||
|
||||
return lsh;
|
||||
|
Reference in New Issue
Block a user