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