www.pudn.com > backmode824.rar > Blob.cpp


#include "stdafx.h" 
//#include "backmodelView.h" 
#include "Blob.h" 
#include "cv.h" 
 
#ifdef _DEBUG 
#undef THIS_FILE 
static char THIS_FILE[]=__FILE__; 
#define new DEBUG_NEW 
#endif 
 
////////////////////////////////////////////////////////////////////// 
 
#define DeleteCleanA(x) if (x){ delete[] x; x = NULL; } 
 
Blob::Blob() 
{ 
   hull = NULL; 
   nHull = 0;    
   centroid.x = centroid.y = 0; 
   bbTopLeft.x = bbTopLeft.y = 0; 
   bbBottomRight.x = bbBottomRight.y = 0; 
   mass = 0; 
} 
 
Blob::~Blob() 
{ 
   DeleteCleanA(hull); 
} 
 
 
void Blob::RenderBB(IplImage *pImg, CvScalar color, int bVerts) 
{ 
   CvPoint a, b; 
 
   a = bbTopLeft; 
   if (bVerts) cvCircle(pImg, a, 1, color, 2); 
   b.x = bbTopLeft.x; 
   b.y = bbBottomRight.y; 
   if (bVerts) cvCircle(pImg, b, 1, color, 2); 
   cvLine(pImg, a, b, color,1); 
   a = bbBottomRight; 
   if (bVerts) cvCircle(pImg, a, 1, color, 2); 
   cvLine(pImg, a, b, color, 1); 
    
   a = bbTopLeft; 
   b.x = bbBottomRight.x; 
   b.y = bbTopLeft.y; 
   if (bVerts) cvCircle(pImg, b, 1,color, 2); 
   cvLine(pImg, a, b, color, 1); 
   a = bbBottomRight; 
   cvLine(pImg, a, b, color, 1);    
}