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