CvFaceTrack< ConverterT, AngleT > Class Template Reference

#include <CvFaceTrack.hh>

Inheritance diagram for CvFaceTrack< ConverterT, AngleT >:

Inheritance graph
[legend]
Collaboration diagram for CvFaceTrack< ConverterT, AngleT >:

Collaboration graph
[legend]
List of all members.

Detailed Description

template<class ConverterT, class AngleT>
class CvFaceTrack< ConverterT, AngleT >

CvFaceTrack tracks the faces in the video stream durig non-detection frames. NOTE: this class can be replaced by OmniTracking class. Some changes should be done on CvFaceDetect too to accomplish the point to add structures..

Definition at line 67 of file CvFaceTrack.hh.

Public Member Functions

 CvFaceTrack (OmniConversion< ConverterT, AngleT, IplImage, CvPoint > *conv_table)
 CvFaceTrack contructor.
virtual ~CvFaceTrack ()
 The CvfaceTrack virtual destructor.
int cvAddPoint2Track (CvSeq *faces)
 A function used to add new point to track.
void cvTrackNextFrame (IplImage *frame)
 A function used to process every frame and run the tracking algorithm.
void register_image_callbacks (on_create_image_context_cb *create_image_context, on_image_do_action_cb *image_show, on_destroy_image_context_cb *destroy_image_context, void *callback_data_image_cb)

Private Member Functions

void icvInitBuffer (IplImage *first_frame)
 A function used to init the image and storage buffer.

Private Attributes

IplImage * image
 Private image copy of the original one.
IplImage * grey
 Private greyscale image of the original one.
IplImage * prev_grey
 Private previous frame greyscale image.
IplImage * pyramid
 Private image used for pyramid size loop.
IplImage * prev_pyramid
 Private previous pyramid image.
IplImage * swap_temp
 Private image use to swap two images.
CvSize size
 Private size of the image.
int win_size
 Private windows size whera search track features.
int MAX_TRACKED_COUNT
 Private int of max tracked points.
CvPoint2D32f * tracked_points [2]
 Private array of tracked point (past and actual).
CvPoint2D32f * swap_points
 Private array pointe used to swap two array.
Cvfaceface2track
 Private array of Cvface struct with information on face to track.
int face_count
 Private number of faces count.
char * tracked_status
 Private status of every tracked point.
int tracked_count
 Private int of tracjed count.
int track_flags
 Private int for track flags.
bool started
 Boolean activated when algorithm start.
bool add_pt
 Private boolean to advert when ara aviable new point to track.
OmniConversion< ConverterT,
AngleT, IplImage, CvPoint > * 
conv_table
 OmniConversion for omni2pano fast transformation.
on_create_image_context_cbcreate_image_context
on_image_do_action_cbimage_show
on_destroy_image_context_cbdestroy_image_context
void * _callback_data_image_cb


Constructor & Destructor Documentation

template<class ConverterT, class AngleT>
CvFaceTrack< ConverterT, AngleT >::CvFaceTrack ( OmniConversion< ConverterT, AngleT, IplImage, CvPoint > *  conv_table  ) 

CvFaceTrack contructor

Definition at line 169 of file CvFaceTrack.hh.

References CvFaceTrack< ConverterT, AngleT >::add_pt, CvFaceTrack< ConverterT, AngleT >::face2track, CvFaceTrack< ConverterT, AngleT >::face_count, CvFaceTrack< ConverterT, AngleT >::MAX_TRACKED_COUNT, NULL, omnistuff_create_image_context(), omnistuff_destroy_image_context(), omnistuff_image_do_action(), CvFaceTrack< ConverterT, AngleT >::register_image_callbacks(), CvFaceTrack< ConverterT, AngleT >::started, CvFaceTrack< ConverterT, AngleT >::track_flags, CvFaceTrack< ConverterT, AngleT >::tracked_count, CvFaceTrack< ConverterT, AngleT >::tracked_points, CvFaceTrack< ConverterT, AngleT >::tracked_status, and CvFaceTrack< ConverterT, AngleT >::win_size.

Here is the call graph for this function:

template<class ConverterT, class AngleT>
CvFaceTrack< ConverterT, AngleT >::~CvFaceTrack (  )  [virtual]

Definition at line 200 of file CvFaceTrack.hh.


Member Function Documentation

template<class ConverterT, class AngleT>
int CvFaceTrack< ConverterT, AngleT >::cvAddPoint2Track ( CvSeq *  faces  ) 

A function used to add new point to track.

Parameters:
faces a sequence of Cvface struct
Returns:
number of tracking faces

Definition at line 292 of file CvFaceTrack.hh.

References CvFaceTrack< ConverterT, AngleT >::add_pt, CvFaceTrack< ConverterT, AngleT >::face2track, and CvFaceTrack< ConverterT, AngleT >::face_count.

template<class ConverterT, class AngleT>
void CvFaceTrack< ConverterT, AngleT >::cvTrackNextFrame ( IplImage *  frame  ) 

A function used to process every frame and run the tracking algorithm. It also display the panoramic faces windows.

Parameters:
frame image where find tracked point

Definition at line 207 of file CvFaceTrack.hh.

References CvFaceTrack< ConverterT, AngleT >::_callback_data_image_cb, CvFaceTrack< ConverterT, AngleT >::add_pt, OmniConversion< ConverterT, AngleT, ImageT, PointT >::angle_type_conversion(), CvFaceTrack< ConverterT, AngleT >::conv_table, CvFaceTrack< ConverterT, AngleT >::create_image_context, CvFaceTrack< ConverterT, AngleT >::face2track, CvFaceTrack< ConverterT, AngleT >::face_count, FACE_TRACK_ANGLE_WINDOW, OmniConversion< ConverterT, AngleT, ImageT, PointT >::get_omni_center_x(), OmniConversion< ConverterT, AngleT, ImageT, PointT >::get_omni_center_y(), CvFaceTrack< ConverterT, AngleT >::grey, CvFaceTrack< ConverterT, AngleT >::icvInitBuffer(), CvFaceTrack< ConverterT, AngleT >::image, CvFaceTrack< ConverterT, AngleT >::image_show, CvFaceTrack< ConverterT, AngleT >::MAX_TRACKED_COUNT, OmniConversion< ConverterT, AngleT, ImageT, PointT >::omni2pano(), CvFaceTrack< ConverterT, AngleT >::prev_grey, CvFaceTrack< ConverterT, AngleT >::prev_pyramid, CvFaceTrack< ConverterT, AngleT >::pyramid, Cvface::Cvskin::skin_box, Cvface::skin_face, CvFaceTrack< ConverterT, AngleT >::started, CvFaceTrack< ConverterT, AngleT >::swap_points, CvFaceTrack< ConverterT, AngleT >::swap_temp, CvFaceTrack< ConverterT, AngleT >::track_flags, CvFaceTrack< ConverterT, AngleT >::tracked_count, CvFaceTrack< ConverterT, AngleT >::tracked_points, CvFaceTrack< ConverterT, AngleT >::tracked_status, and CvFaceTrack< ConverterT, AngleT >::win_size.

Here is the call graph for this function:

template<class ConverterT, class AngleT>
void CvFaceTrack< ConverterT, AngleT >::icvInitBuffer ( IplImage *  first_frame  )  [private]

A function used to init the image and storage buffer

Parameters:
first_frame needed to detect image size

Definition at line 321 of file CvFaceTrack.hh.

References CvFaceTrack< ConverterT, AngleT >::grey, CvFaceTrack< ConverterT, AngleT >::image, CvFaceTrack< ConverterT, AngleT >::MAX_TRACKED_COUNT, CvFaceTrack< ConverterT, AngleT >::prev_grey, CvFaceTrack< ConverterT, AngleT >::prev_pyramid, CvFaceTrack< ConverterT, AngleT >::pyramid, CvFaceTrack< ConverterT, AngleT >::size, CvFaceTrack< ConverterT, AngleT >::tracked_points, and CvFaceTrack< ConverterT, AngleT >::tracked_status.

Referenced by CvFaceTrack< ConverterT, AngleT >::cvTrackNextFrame().

Here is the caller graph for this function:

template<class ConverterT, class AngleT>
void CvFaceTrack< ConverterT, AngleT >::register_image_callbacks ( on_create_image_context_cb create_image_context,
on_image_do_action_cb image_show,
on_destroy_image_context_cb destroy_image_context,
void *  callback_data_image_cb 
)

Definition at line 350 of file CvFaceTrack.hh.

References CvFaceTrack< ConverterT, AngleT >::_callback_data_image_cb.

Referenced by CvFaceTrack< ConverterT, AngleT >::CvFaceTrack().

Here is the caller graph for this function:


Member Data Documentation

template<class ConverterT, class AngleT>
void* CvFaceTrack< ConverterT, AngleT >::_callback_data_image_cb [private]

Definition at line 120 of file CvFaceTrack.hh.

Referenced by CvFaceTrack< ConverterT, AngleT >::cvTrackNextFrame(), and CvFaceTrack< ConverterT, AngleT >::register_image_callbacks().

template<class ConverterT, class AngleT>
bool CvFaceTrack< ConverterT, AngleT >::add_pt [private]

Definition at line 111 of file CvFaceTrack.hh.

Referenced by CvFaceTrack< ConverterT, AngleT >::cvAddPoint2Track(), CvFaceTrack< ConverterT, AngleT >::CvFaceTrack(), and CvFaceTrack< ConverterT, AngleT >::cvTrackNextFrame().

template<class ConverterT, class AngleT>
OmniConversion<ConverterT, AngleT, IplImage, CvPoint>* CvFaceTrack< ConverterT, AngleT >::conv_table [private]

Definition at line 114 of file CvFaceTrack.hh.

Referenced by CvFaceTrack< ConverterT, AngleT >::cvTrackNextFrame().

template<class ConverterT, class AngleT>
on_create_image_context_cb* CvFaceTrack< ConverterT, AngleT >::create_image_context [private]

Definition at line 117 of file CvFaceTrack.hh.

Referenced by CvFaceTrack< ConverterT, AngleT >::cvTrackNextFrame().

template<class ConverterT, class AngleT>
on_destroy_image_context_cb* CvFaceTrack< ConverterT, AngleT >::destroy_image_context [private]

Definition at line 119 of file CvFaceTrack.hh.

template<class ConverterT, class AngleT>
Cvface* CvFaceTrack< ConverterT, AngleT >::face2track [private]

Definition at line 95 of file CvFaceTrack.hh.

Referenced by CvFaceTrack< ConverterT, AngleT >::cvAddPoint2Track(), CvFaceTrack< ConverterT, AngleT >::CvFaceTrack(), and CvFaceTrack< ConverterT, AngleT >::cvTrackNextFrame().

template<class ConverterT, class AngleT>
int CvFaceTrack< ConverterT, AngleT >::face_count [private]

Definition at line 97 of file CvFaceTrack.hh.

Referenced by CvFaceTrack< ConverterT, AngleT >::cvAddPoint2Track(), CvFaceTrack< ConverterT, AngleT >::CvFaceTrack(), and CvFaceTrack< ConverterT, AngleT >::cvTrackNextFrame().

template<class ConverterT, class AngleT>
IplImage* CvFaceTrack< ConverterT, AngleT >::grey [private]

Definition at line 72 of file CvFaceTrack.hh.

Referenced by CvFaceTrack< ConverterT, AngleT >::cvTrackNextFrame(), and CvFaceTrack< ConverterT, AngleT >::icvInitBuffer().

template<class ConverterT, class AngleT>
IplImage* CvFaceTrack< ConverterT, AngleT >::image [private]

Definition at line 70 of file CvFaceTrack.hh.

Referenced by CvFaceTrack< ConverterT, AngleT >::cvTrackNextFrame(), and CvFaceTrack< ConverterT, AngleT >::icvInitBuffer().

template<class ConverterT, class AngleT>
on_image_do_action_cb* CvFaceTrack< ConverterT, AngleT >::image_show [private]

Definition at line 118 of file CvFaceTrack.hh.

Referenced by CvFaceTrack< ConverterT, AngleT >::cvTrackNextFrame().

template<class ConverterT, class AngleT>
int CvFaceTrack< ConverterT, AngleT >::MAX_TRACKED_COUNT [private]

Definition at line 87 of file CvFaceTrack.hh.

Referenced by CvFaceTrack< ConverterT, AngleT >::CvFaceTrack(), CvFaceTrack< ConverterT, AngleT >::cvTrackNextFrame(), and CvFaceTrack< ConverterT, AngleT >::icvInitBuffer().

template<class ConverterT, class AngleT>
IplImage* CvFaceTrack< ConverterT, AngleT >::prev_grey [private]

Definition at line 74 of file CvFaceTrack.hh.

Referenced by CvFaceTrack< ConverterT, AngleT >::cvTrackNextFrame(), and CvFaceTrack< ConverterT, AngleT >::icvInitBuffer().

template<class ConverterT, class AngleT>
IplImage* CvFaceTrack< ConverterT, AngleT >::prev_pyramid [private]

Definition at line 78 of file CvFaceTrack.hh.

Referenced by CvFaceTrack< ConverterT, AngleT >::cvTrackNextFrame(), and CvFaceTrack< ConverterT, AngleT >::icvInitBuffer().

template<class ConverterT, class AngleT>
IplImage* CvFaceTrack< ConverterT, AngleT >::pyramid [private]

Definition at line 76 of file CvFaceTrack.hh.

Referenced by CvFaceTrack< ConverterT, AngleT >::cvTrackNextFrame(), and CvFaceTrack< ConverterT, AngleT >::icvInitBuffer().

template<class ConverterT, class AngleT>
CvSize CvFaceTrack< ConverterT, AngleT >::size [private]

Definition at line 82 of file CvFaceTrack.hh.

Referenced by CvFaceTrack< ConverterT, AngleT >::icvInitBuffer().

template<class ConverterT, class AngleT>
bool CvFaceTrack< ConverterT, AngleT >::started [private]

Definition at line 108 of file CvFaceTrack.hh.

Referenced by CvFaceTrack< ConverterT, AngleT >::CvFaceTrack(), and CvFaceTrack< ConverterT, AngleT >::cvTrackNextFrame().

template<class ConverterT, class AngleT>
CvPoint2D32f* CvFaceTrack< ConverterT, AngleT >::swap_points [private]

Definition at line 92 of file CvFaceTrack.hh.

Referenced by CvFaceTrack< ConverterT, AngleT >::cvTrackNextFrame().

template<class ConverterT, class AngleT>
IplImage* CvFaceTrack< ConverterT, AngleT >::swap_temp [private]

Definition at line 80 of file CvFaceTrack.hh.

Referenced by CvFaceTrack< ConverterT, AngleT >::cvTrackNextFrame().

template<class ConverterT, class AngleT>
int CvFaceTrack< ConverterT, AngleT >::track_flags [private]

Definition at line 105 of file CvFaceTrack.hh.

Referenced by CvFaceTrack< ConverterT, AngleT >::CvFaceTrack(), and CvFaceTrack< ConverterT, AngleT >::cvTrackNextFrame().

template<class ConverterT, class AngleT>
int CvFaceTrack< ConverterT, AngleT >::tracked_count [private]

Definition at line 102 of file CvFaceTrack.hh.

Referenced by CvFaceTrack< ConverterT, AngleT >::CvFaceTrack(), and CvFaceTrack< ConverterT, AngleT >::cvTrackNextFrame().

template<class ConverterT, class AngleT>
CvPoint2D32f* CvFaceTrack< ConverterT, AngleT >::tracked_points[2] [private]

Definition at line 90 of file CvFaceTrack.hh.

Referenced by CvFaceTrack< ConverterT, AngleT >::CvFaceTrack(), CvFaceTrack< ConverterT, AngleT >::cvTrackNextFrame(), and CvFaceTrack< ConverterT, AngleT >::icvInitBuffer().

template<class ConverterT, class AngleT>
char* CvFaceTrack< ConverterT, AngleT >::tracked_status [private]

Definition at line 100 of file CvFaceTrack.hh.

Referenced by CvFaceTrack< ConverterT, AngleT >::CvFaceTrack(), CvFaceTrack< ConverterT, AngleT >::cvTrackNextFrame(), and CvFaceTrack< ConverterT, AngleT >::icvInitBuffer().

template<class ConverterT, class AngleT>
int CvFaceTrack< ConverterT, AngleT >::win_size [private]

Definition at line 85 of file CvFaceTrack.hh.

Referenced by CvFaceTrack< ConverterT, AngleT >::CvFaceTrack(), and CvFaceTrack< ConverterT, AngleT >::cvTrackNextFrame().


The documentation for this class was generated from the following file:
Generated on Tue Dec 26 10:35:44 2006 for Omnimeeting by  doxygen 1.4.7