#include <iso_tracker_motion_tracker.h>
Collaboration diagram for iso::tracker::MotionTracker:
Public Member Functions | |
| MotionTracker (const math::Vector2< unsigned int > &pFrameSize) | |
| create motion tracker | |
| MotionTracker (const math::Vector2< unsigned int > &pFrameSize, unsigned int pPyramidLevelCount) | |
| create motion tracker | |
| ~MotionTracker () | |
| motion tracker | |
| void | setMotionIgnoreLevel (unsigned int pMotionIgnoreLevel) |
| setMotionIgnoreLevel | |
| IplImage * | runningAverage () |
| return running average image | |
| IplImage * | diffImage () |
| return temporal difference image | |
| IplImage * | silhouette (unsigned int pLevel) throw (base::Exception) |
| return silhouette image | |
| IplImage * | motionHistory (unsigned int pLevel) throw (base::Exception) |
| return motion history image | |
| IplImage * | motionMask (unsigned int pLevel) throw (base::Exception) |
| return motion mask image | |
| IplImage * | motionOrientation (unsigned int pLevel) throw (base::Exception) |
| return orientation history image | |
| IplImage * | motionImage () |
| return motion image | |
| IplImage * | motionRegions () |
| return motion regions image | |
| math::VectorField< float > & | motionField () |
| return motion field | |
| void | update (IplImage *pImage, QVector< TrackObject * > &pTrackObjects) throw (TrackerException) |
| update motion tracker | |
Public Attributes | |
| IplImage * | mInputImage |
| IplImage * | mVelXImage |
| IplImage * | mVelYImage |
| IplImage * | mVelOrientImage |
| IplImage * | mVelMagImage |
| IplImage * | mVelYProcImage |
| IplImage * | mVelCombImage |
| IplImage * | mOutputImage |
Protected Member Functions | |
| void | createMotionField () |
| ignore motion from top level up to this level calculcate motion field | |
| void | calcMotion (unsigned int pLevel) throw (base::Exception) |
| calculate horizontal motion | |
| void | calcMotion (unsigned int pLevel, const math::Vector2< unsigned int > &pLevelPos, const math::Vector2< unsigned int > &pBottomPos, unsigned int pLevelPixelSize) throw (base::Exception) |
| calculate motion | |
| void | detectMotionRegions () |
| detect regions of similar motion | |
| void | updateTrackObjects (QVector< TrackObject * > &pTrackObjects) |
| update track objects | |
| void | updateTrackObject (TrackObject *pTrackObjects) |
| update track object | |
Protected Attributes | |
| math::Vector2< unsigned int > | mFrameSize |
| tracking frame size | |
| IplImage * | mImage |
| tracker image | |
| IplImage * | mRunningAverage |
| running average on image | |
| IplImage * | mDiffImage |
| temporal difference image | |
| MotionPyramid | mMotionPyramid |
| motion pyramid | |
| unsigned int | mMotionIgnoreLevel |
| IplImage * | mBottomMotionImage |
| ignore motion from top level up to this level pyramid bottom motion image | |
| IplImage * | mMotionImage |
| scaled motion image | |
| math::VectorField< float > | mMotionField |
| 3d motion field | |
| IplImage * | mMotionRegionImage |
| motion region image | |
| IplImage * | mMotionLengthImage |
| motion length image | |
| math::VectorField< float > | mNormMotionField |
| normalized 3d motion field | |
| CvMemStorage * | mContourStorage |
| memory for countour data | |
| CvSeq * | mContours |
| contour collection | |
| QVector< CvRect > | mBBoxes |
| contour boundign box collection | |
Static Protected Attributes | |
| static unsigned int | sMotionIgnoreLevel |
| MotionTracker::MotionTracker | ( | const math::Vector2< unsigned int > & | pFrameSize | ) |
create motion tracker
| pFrameSize | tracker frame size |
| MotionTracker::MotionTracker | ( | const math::Vector2< unsigned int > & | pFrameSize, | |
| unsigned int | pPyramidLevelCount | |||
| ) |
create motion tracker
| pFrameSize | tracker frame size | |
| pPyramidLevelCount | number of image pyramid levels |
| MotionTracker::~MotionTracker | ( | ) |
motion tracker
| void MotionTracker::setMotionIgnoreLevel | ( | unsigned int | pMotionIgnoreLevel | ) |
setMotionIgnoreLevel
| pMotionIgnorelevel | motion ignore level |
| IplImage * MotionTracker::runningAverage | ( | ) |
return running average image
| IplImage * MotionTracker::diffImage | ( | ) |
return temporal difference image
| IplImage * MotionTracker::silhouette | ( | unsigned int | pLevel | ) | throw (base::Exception) |
return silhouette image
| pLevel | level index |
| TrackerException | level index out of scope |
| IplImage * MotionTracker::motionHistory | ( | unsigned int | pLevel | ) | throw (base::Exception) |
return motion history image
| pLevel | level index |
| base::Exception | level index out of scope |
| IplImage * MotionTracker::motionMask | ( | unsigned int | pLevel | ) | throw (base::Exception) |
return motion mask image
| pLevel | level index |
| base::Exception | level index out of scope |
| IplImage * MotionTracker::motionOrientation | ( | unsigned int | pLevel | ) | throw (base::Exception) |
return orientation history image
| pLevel | level index |
| base::Exception | level index out of scope |
| IplImage * MotionTracker::motionImage | ( | ) |
return motion image
| IplImage * MotionTracker::motionRegions | ( | ) |
return motion regions image
| math::VectorField< float > & MotionTracker::motionField | ( | ) |
return motion field
| void MotionTracker::update | ( | IplImage * | pImage, | |
| QVector< TrackObject * > & | pTrackObjects | |||
| ) | throw (TrackerException) |
update motion tracker
| pImage | image | |
| pTrackObjects | vector of track objects |
| TrackerException | source image is not single channel or images are of wrong size |
| void MotionTracker::createMotionField | ( | ) | [protected] |
ignore motion from top level up to this level calculcate motion field
| void MotionTracker::calcMotion | ( | unsigned int | pLevel | ) | throw (base::Exception) [protected] |
calculate horizontal motion
| pLevel | pyramid level |
| base::Exception | level out of bounds |
| void MotionTracker::calcMotion | ( | unsigned int | pLevel, | |
| const math::Vector2< unsigned int > & | pLevelPos, | |||
| const math::Vector2< unsigned int > & | pBottomPos, | |||
| unsigned int | pLevelPixelSize | |||
| ) | throw (base::Exception) [protected] |
calculate motion
| pLevel | pyramid level | |
| pLevelPos | pixel position within pyramid level frame | |
| pBottomPos | pixel position within bottom pyramid level frame | |
| pLevelPixelSize | size of pixel at current pyramid level in bottom pyramid level |
| base::Exception | level out of bounds |
| void MotionTracker::detectMotionRegions | ( | ) | [protected] |
detect regions of similar motion
| void MotionTracker::updateTrackObjects | ( | QVector< TrackObject * > & | pTrackObjects | ) | [protected] |
update track objects
| pTrackObjects | vector of track objects |
| void MotionTracker::updateTrackObject | ( | TrackObject * | pTrackObjects | ) | [protected] |
update track object
| pTrackObjects | track objects |
| IplImage* iso::tracker::MotionTracker::mInputImage |
| IplImage* iso::tracker::MotionTracker::mVelXImage |
| IplImage* iso::tracker::MotionTracker::mVelYImage |
unsigned int MotionTracker::sMotionIgnoreLevel [static, protected] |
math::Vector2<unsigned int> iso::tracker::MotionTracker::mFrameSize [protected] |
tracking frame size
IplImage* iso::tracker::MotionTracker::mImage [protected] |
tracker image
IplImage* iso::tracker::MotionTracker::mRunningAverage [protected] |
running average on image
IplImage* iso::tracker::MotionTracker::mDiffImage [protected] |
temporal difference image
motion pyramid
unsigned int iso::tracker::MotionTracker::mMotionIgnoreLevel [protected] |
IplImage* iso::tracker::MotionTracker::mBottomMotionImage [protected] |
ignore motion from top level up to this level pyramid bottom motion image
size corresponds to lowest level pyramid size contains both orientation and motion lengt information
IplImage* iso::tracker::MotionTracker::mMotionImage [protected] |
scaled motion image
standard camera frame size contains both orientation and motion lengt information
math::VectorField<float> iso::tracker::MotionTracker::mMotionField [protected] |
3d motion field
IplImage* iso::tracker::MotionTracker::mMotionRegionImage [protected] |
motion region image
binary image indicating regions of similar motion
IplImage* iso::tracker::MotionTracker::mMotionLengthImage [protected] |
motion length image
math::VectorField<float> iso::tracker::MotionTracker::mNormMotionField [protected] |
normalized 3d motion field
CvMemStorage* iso::tracker::MotionTracker::mContourStorage [protected] |
memory for countour data
CvSeq* iso::tracker::MotionTracker::mContours [protected] |
contour collection
QVector<CvRect> iso::tracker::MotionTracker::mBBoxes [protected] |
contour boundign box collection
1.5.1