iso::tracker::Tracker2D Class Reference

#include <iso_tracker_2d.h>

Inherits iso::tracker::Tracker.

Inheritance diagram for iso::tracker::Tracker2D:

Inheritance graph
[legend]
Collaboration diagram for iso::tracker::Tracker2D:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Tracker2D (Camera *pCamera)
 default constructor
 Tracker2D (Camera *pCamera, float pUpdateInterval)
 default constructor
 Tracker2D (Camera *pCamera, const math::Vector2< unsigned int > &pFrameSize, float pUpdateInterval)
 default constructor
 Tracker2D (Camera *pCamera, unsigned int pCalibFrameCount, bool pContCalib, float pUpdateInterval)
 create 2D tracker
 Tracker2D (Camera *pCamera, unsigned int pCalibFrameCount, const base::String &pBGCalibFileName, float pUpdateInterval)
 create 2D tracker
 ~Tracker2D ()
 destructor
void save ()
void restore ()
const math::Vector2< float > & bgStdLimit () const
void setBgStdLimit (const math::Vector2< float > &pBgStdLimit)
 set background calibration limits
TrackerComcom ()
 return communcation manager
QVector< TrackObject * > & trackObjects ()
 return track objects
MotionTrackermotionTracker ()
 return motion tracker
PositionTrackerpositionTracker ()
 return position tracker
IplImage * foreground ()
 return foreground image
IplImage * trackObjectsSumImage ()
unsigned char * rawFrameData ()
 return raw frame data
unsigned char * bgSubFrameData ()
 return background subtracted frame data
math::VectorField< float > & motionField ()
 return motion field
unsigned char * fgData ()
unsigned char * debugData ()
 whatever type of debug data
int FGThreshold () const
void setFGThreshold (int pFGThreshold)
void update ()
 update tracker
bool invertCameraFrame () const
void toggleInvertCameraFrame ()
const math::Vector2< int > & cropSize () const
const math::Vector2< int > & cropPos () const
void setCropSize (const math::Vector2< int > &pCropSize)
void setCropPos (const math::Vector2< int > &pCropPos)
void toggleExportImage ()
void toggleRecordFrames ()
const QVector< math::Vector2<
float > > & 
perspMapPoints () const
void updatePerspTransform (math::Vector2< float > pPos)
float calibrationProgress () const
virtual void startCalibration ()
 start frame calibration

Static Public Member Functions

static event::EventManager & eventManager ()
 return minimum track object size return event manager

Protected Member Functions

void init ()
 initialize tracker
void bgSubtract (IplImage *pSourceFrame, IplImage *pTargetFrame)
 perform background subtraction
void calcForeground (IplImage *pSourceFrame, IplImage *pTargetFrame)
 calculate foreground
void calcPerspMapping ()
 calculate perspective mapping
void exportImage (const base::String &pFileName)

Protected Attributes

IplImage * mRawFrame
 minimum bounding box size for track object to be accepted unprocessed distance camera data
bool mScaleCamFrame
 flag that indicates whether camera frame needs to be rescaled for raw image
math::Vector2< float > mBgStdLimit
 standard deviation limit for background subtraction
IplImage * mBgMaskFrame
 background removal mask
IplImage * mBGSubFrame
IplImage * mBGSubMonoFrame
IplImage * mFGFrame
IplImage * mRawMonoFrame
IplImage * mFullFGFrame
IplImage * mCropMask
IplImage * mScaleDebugFrame
 debug frames
IplImage * mCharDebugFrame
BGCalibration mCalibration
 background statistics for camera data
PositionTracker mPositionTracker
MotionTracker mMotionTracker
QVector< TrackObject * > mTrackObjects
 tracking objects
IplImage * mTrackObjectsSumImage
math::Vector2< int > mCropSize
math::Vector2< int > mCropPos
bool mInvertCameraFrame
bool mExportImage
unsigned int mExportImageCount
QVector< math::Vector2< float > > mPerspMappingPoints
QVector< math::Vector2< float > > mPerspReferencePoints
CvMat * mPerspMatrix
IplImage * mPerspImage
IplImage * mPerspMonoImage
int mFGThreshold
QTime mTime
 timer for performance feedback
QString mSaveFileName
bool mRecordFrames
QImage * mSaveFrameImage
unsigned int mSaveFrameIndex

Static Protected Attributes

static math::Vector2< float > sBgStdLimit
 default standard deviation limit for background subtraction
static unsigned int sTrackObjectCount
 default max number of track objects
static unsigned int sTrackSubObjectCount
 number of track sub objects contained within each track object
static event::EventManager sEventManager
 event manager

Constructor & Destructor Documentation

Tracker2D::Tracker2D ( Camera pCamera  ) 

default constructor

Parameters:
pCamera camera

Tracker2D::Tracker2D ( Camera pCamera,
float  pUpdateInterval 
)

default constructor

Parameters:
pCamera camera
pUpdateInterval update interval [milisecs]

Tracker2D::Tracker2D ( Camera pCamera,
const math::Vector2< unsigned int > &  pFrameSize,
float  pUpdateInterval 
)

default constructor

Parameters:
pCamera camera
pFrameSize Tracking Frame Size
pUpdateInterval update interval [milisecs]

Tracker2D::Tracker2D ( Camera pCamera,
unsigned int  pCalibFrameCount,
bool  pContCalib,
float  pUpdateInterval 
)

create 2D tracker

Parameters:
pCamera camera
pCalibFrameCount number of calibration frames
pContCalib continuous calibration
pUpdateInterval update interval [milisecs]

Tracker2D::Tracker2D ( Camera pCamera,
unsigned int  pCalibFrameCount,
const base::String &  pBGCalibFileName,
float  pUpdateInterval 
)

create 2D tracker

Parameters:
pCamera camera
pCalibFrameCount number of calibration frames
pBGCalibFileName background calibration file name
pUpdateInterval update interval [milisecs]
if pBGCalibFileName exists, read background calibration data from file whenever background calibration is performed again, write the new calibration data into file

Tracker2D::~Tracker2D (  ) 

destructor


Member Function Documentation

void Tracker2D::save (  ) 

void Tracker2D::restore (  ) 

const math::Vector2< float > & Tracker2D::bgStdLimit (  )  const

void Tracker2D::setBgStdLimit ( const math::Vector2< float > &  pBgStdLimit  ) 

set background calibration limits

Parameters:
pBgStdLimit lower and upper limits (number of standard deviations)

event::EventManager & Tracker2D::eventManager (  )  [static]

return minimum track object size return event manager

Returns:
event manager

TrackerCom & Tracker2D::com (  ) 

return communcation manager

QVector< TrackObject * > & Tracker2D::trackObjects (  ) 

return track objects

MotionTracker & Tracker2D::motionTracker (  ) 

return motion tracker

Returns:
motion tracker

PositionTracker & Tracker2D::positionTracker (  ) 

return position tracker

Returns:
position tracker

IplImage * Tracker2D::foreground (  ) 

return foreground image

Returns:
foreground image

IplImage * Tracker2D::trackObjectsSumImage (  ) 

unsigned char * Tracker2D::rawFrameData (  ) 

return raw frame data

unsigned char * Tracker2D::bgSubFrameData (  ) 

return background subtracted frame data

math::VectorField< float > & Tracker2D::motionField (  ) 

return motion field

Returns:
motion field

unsigned char * Tracker2D::fgData (  ) 

unsigned char * Tracker2D::debugData (  ) 

whatever type of debug data

int Tracker2D::FGThreshold (  )  const

void Tracker2D::setFGThreshold ( int  pFGThreshold  ) 

void Tracker2D::update (  )  [virtual]

update tracker

Implements iso::tracker::Tracker.

bool Tracker2D::invertCameraFrame (  )  const

void Tracker2D::toggleInvertCameraFrame (  ) 

const math::Vector2< int > & Tracker2D::cropSize (  )  const

const math::Vector2< int > & Tracker2D::cropPos (  )  const

void Tracker2D::setCropSize ( const math::Vector2< int > &  pCropSize  ) 

void Tracker2D::setCropPos ( const math::Vector2< int > &  pCropPos  ) 

void Tracker2D::toggleExportImage (  ) 

void Tracker2D::toggleRecordFrames (  ) 

const QVector< math::Vector2< float > > & Tracker2D::perspMapPoints (  )  const

void Tracker2D::updatePerspTransform ( math::Vector2< float >  pPos  ) 

float Tracker2D::calibrationProgress (  )  const

void Tracker2D::startCalibration (  )  [virtual]

start frame calibration

Reimplemented from iso::tracker::Tracker.

void Tracker2D::init (  )  [protected]

initialize tracker

void Tracker2D::bgSubtract ( IplImage *  pSourceFrame,
IplImage *  pTargetFrame 
) [protected]

perform background subtraction

Parameters:
pSourceFrame source frame
pTargetFrame target frame

void Tracker2D::calcForeground ( IplImage *  pSourceFrame,
IplImage *  pTargetFrame 
) [protected]

calculate foreground

Parameters:
pSourceFrame source frame
pTargetFrame target frame

void Tracker2D::calcPerspMapping (  )  [protected]

calculate perspective mapping

void Tracker2D::exportImage ( const base::String &  pFileName  )  [protected]


Member Data Documentation

math::Vector2< float > Tracker2D::sBgStdLimit [static, protected]

default standard deviation limit for background subtraction

unsigned int Tracker2D::sTrackObjectCount [static, protected]

default max number of track objects

unsigned int Tracker2D::sTrackSubObjectCount [static, protected]

number of track sub objects contained within each track object

IplImage* iso::tracker::Tracker2D::mRawFrame [protected]

minimum bounding box size for track object to be accepted unprocessed distance camera data

bool iso::tracker::Tracker2D::mScaleCamFrame [protected]

flag that indicates whether camera frame needs to be rescaled for raw image

math::Vector2<float> iso::tracker::Tracker2D::mBgStdLimit [protected]

standard deviation limit for background subtraction

IplImage* iso::tracker::Tracker2D::mBgMaskFrame [protected]

background removal mask

for background subtraction
0: remove background >0: don't remove background

IplImage* iso::tracker::Tracker2D::mBGSubFrame [protected]

brief background subtracted color frame

IplImage* iso::tracker::Tracker2D::mBGSubMonoFrame [protected]

brief background subtracted mono frame

IplImage* iso::tracker::Tracker2D::mFGFrame [protected]

brief foreground grayscale frame

IplImage* iso::tracker::Tracker2D::mRawMonoFrame [protected]

IplImage* iso::tracker::Tracker2D::mFullFGFrame [protected]

IplImage* iso::tracker::Tracker2D::mCropMask [protected]

IplImage* iso::tracker::Tracker2D::mScaleDebugFrame [protected]

debug frames

IplImage * iso::tracker::Tracker2D::mCharDebugFrame [protected]

BGCalibration iso::tracker::Tracker2D::mCalibration [protected]

background statistics for camera data

PositionTracker iso::tracker::Tracker2D::mPositionTracker [protected]

brief position tracker

MotionTracker iso::tracker::Tracker2D::mMotionTracker [protected]

brief motion tracker

QVector< TrackObject* > iso::tracker::Tracker2D::mTrackObjects [protected]

tracking objects

IplImage* iso::tracker::Tracker2D::mTrackObjectsSumImage [protected]

event::EventManager Tracker2D::sEventManager [static, protected]

event manager

currently of no use at all but com manager expects an event manager

math::Vector2<int> iso::tracker::Tracker2D::mCropSize [protected]

math::Vector2<int> iso::tracker::Tracker2D::mCropPos [protected]

bool iso::tracker::Tracker2D::mInvertCameraFrame [protected]

bool iso::tracker::Tracker2D::mExportImage [protected]

unsigned int iso::tracker::Tracker2D::mExportImageCount [protected]

QVector< math::Vector2<float> > iso::tracker::Tracker2D::mPerspMappingPoints [protected]

QVector< math::Vector2<float> > iso::tracker::Tracker2D::mPerspReferencePoints [protected]

CvMat* iso::tracker::Tracker2D::mPerspMatrix [protected]

IplImage* iso::tracker::Tracker2D::mPerspImage [protected]

IplImage* iso::tracker::Tracker2D::mPerspMonoImage [protected]

int iso::tracker::Tracker2D::mFGThreshold [protected]

QTime iso::tracker::Tracker2D::mTime [protected]

timer for performance feedback

Reimplemented from iso::tracker::Tracker.

QString iso::tracker::Tracker2D::mSaveFileName [protected]

bool iso::tracker::Tracker2D::mRecordFrames [protected]

QImage* iso::tracker::Tracker2D::mSaveFrameImage [protected]

unsigned int iso::tracker::Tracker2D::mSaveFrameIndex [protected]


The documentation for this class was generated from the following files:
Generated on Fri Feb 25 14:20:29 2011 for iso_tracker by  doxygen 1.5.1