Fixed ~20 potential errors identified by the MS complier.

This commit is contained in:
Andrey Kamaev
2012-03-31 11:09:16 +00:00
parent 1e5a600d13
commit 72f2523d0f
15 changed files with 150 additions and 133 deletions

View File

@@ -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);

View File

@@ -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);

View File

@@ -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)
/////////////////////////

View File

@@ -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;

View File

@@ -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;