OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT > Class Template Reference

#include <OmniAlgoVRFilterDetection.hh>

Inheritance diagram for OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >:

Inheritance graph
[legend]
Collaboration diagram for OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >:

Collaboration graph
[legend]
List of all members.

Detailed Description

template<class ConverterT, class AngleT, class ImageT, class PointT>
class OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >

Template class.

See also:
OmniAlgoSimpleDetection

Definition at line 46 of file OmniAlgoVRFilterDetection.hh.

Public Member Functions

 OmniAlgoVRFilterDetection (OmniConversion< ConverterT, AngleT, ImageT, PointT > *conversion_klass, IplImage *first_frame)
 Constructor.
virtual ~OmniAlgoVRFilterDetection ()
void loop_next_frame (IplImage *frame)
 Main loop for this class.
void loop_stop ()
 Stop the looping.
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)
 The default display system is give to OpenCV capabilities.
void register_all_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_on_image_do_action)
 The default display system is give to OpenCV capabilities.

Private Attributes

on_create_image_context_cbcreate_image_context
 Image display callback.
on_image_do_action_cbimage_show
 Image display callback.
on_destroy_image_context_cbdestroy_image_context
 Image display callback.
OmniConversion< ConverterT,
AngleT, ImageT, PointT > * 
_conv
CvFaceTrack< ConverterT, AngleT > * _facetracking
CvFaceDetect_facedetect
int _frames_count
void * _callback_data_image_cb
bool _is_running
 Describes if the looping is active or not.


Constructor & Destructor Documentation

template<class ConverterT, class AngleT, class ImageT, class PointT>
OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::OmniAlgoVRFilterDetection ( OmniConversion< ConverterT, AngleT, ImageT, PointT > *  conversion_klass,
IplImage *  first_frame 
)

Parameters:
conversion_klass Conversion class.
first_frame First frame used to initialize some internal stuff like width e height.
See also:
OmniConversion, OmniFastLookupTable, OmniGCardConverter

Definition at line 134 of file OmniAlgoVRFilterDetection.hh.

References OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::_callback_data_image_cb, OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::_conv, OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::_facedetect, OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::_facetracking, OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::_frames_count, OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::_is_running, NULL, omnistuff_create_image_context(), omnistuff_destroy_image_context(), omnistuff_image_do_action(), and OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::register_image_callbacks().

Here is the call graph for this function:

template<class ConverterT, class AngleT, class ImageT, class PointT>
OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::~OmniAlgoVRFilterDetection (  )  [virtual]

Definition at line 155 of file OmniAlgoVRFilterDetection.hh.

References OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::_conv, OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::_facedetect, and OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::_facetracking.


Member Function Documentation

template<class ConverterT, class AngleT, class ImageT, class PointT>
void OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::loop_next_frame ( IplImage *  frame  ) 

Subsequent frames to the first should be passed here. It will manage the VRFilter classes, within the skin detection and tracking.

Parameters:
frame The next frame in the stream.

Definition at line 163 of file OmniAlgoVRFilterDetection.hh.

References OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::_facedetect, OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::_facetracking, OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::_frames_count, OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::_is_running, CvFaceDetect::cvFaceDetect(), DRAW_NONE, and CvFaceDetect::faces.

Referenced by ReceiverCtrlThread::doOmniStuffParsing(), and StreamerCtrlThread::onParsableImage().

Here is the call graph for this function:

Here is the caller graph for this function:

template<class ConverterT, class AngleT, class ImageT, class PointT>
void OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::loop_stop (  ) 

Definition at line 183 of file OmniAlgoVRFilterDetection.hh.

References OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::_is_running.

Referenced by MainFrame::OnReceiverCtrlThreadEnd().

Here is the caller graph for this function:

template<class ConverterT, class AngleT, class ImageT, class PointT>
void OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::register_all_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_on_image_do_action 
)

Unfortunately this is not really performant and bug free on a multiplatform fashion. This is because we can set the display callbacks to act like we want with other libraries. With this function you will call the "register_image_callbacks" of the classes that support this and are included in this class.

Parameters:
create_image_context Create window [with a title] where to display the images.
image_show Perform the call to the show function.
destroy_image_context Destroy the display window and it's context.
callback_data Callback data to image* functions.

Definition at line 204 of file OmniAlgoVRFilterDetection.hh.

References OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::_facetracking.

Referenced by StreamerCtrlThread::initializeOmniStuff(), and ReceiverCtrlThread::initializeOmniStuff().

Here is the caller graph for this function:

template<class ConverterT, class AngleT, class ImageT, class PointT>
void OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::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 
)

Unfortunately this is not really performant and bug free on a multiplatform fashion. This is because we can set the display callbacks to act like we want with other libraries.

Parameters:
create_image_context Create window [with a title] where to display the images.
image_show Perform the call to the show function.
destroy_image_context Destroy the display window and it's context.
callback_data Callback data to image* functions.

Definition at line 191 of file OmniAlgoVRFilterDetection.hh.

References OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::_callback_data_image_cb.

Referenced by OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::OmniAlgoVRFilterDetection().

Here is the caller graph for this function:


Member Data Documentation

template<class ConverterT, class AngleT, class ImageT, class PointT>
void* OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::_callback_data_image_cb [private]

Definition at line 119 of file OmniAlgoVRFilterDetection.hh.

Referenced by OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::OmniAlgoVRFilterDetection(), and OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::register_image_callbacks().

template<class ConverterT, class AngleT, class ImageT, class PointT>
OmniConversion<ConverterT, AngleT, ImageT, PointT>* OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::_conv [private]

See also:
OmniConversion

Definition at line 114 of file OmniAlgoVRFilterDetection.hh.

Referenced by OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::OmniAlgoVRFilterDetection(), and OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::~OmniAlgoVRFilterDetection().

template<class ConverterT, class AngleT, class ImageT, class PointT>
CvFaceDetect* OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::_facedetect [private]

Definition at line 116 of file OmniAlgoVRFilterDetection.hh.

Referenced by OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::loop_next_frame(), OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::OmniAlgoVRFilterDetection(), and OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::~OmniAlgoVRFilterDetection().

template<class ConverterT, class AngleT, class ImageT, class PointT>
CvFaceTrack<ConverterT, AngleT>* OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::_facetracking [private]

Definition at line 115 of file OmniAlgoVRFilterDetection.hh.

Referenced by OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::loop_next_frame(), OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::OmniAlgoVRFilterDetection(), OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::register_all_image_callbacks(), and OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::~OmniAlgoVRFilterDetection().

template<class ConverterT, class AngleT, class ImageT, class PointT>
int OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::_frames_count [private]

Definition at line 117 of file OmniAlgoVRFilterDetection.hh.

Referenced by OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::loop_next_frame(), and OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::OmniAlgoVRFilterDetection().

template<class ConverterT, class AngleT, class ImageT, class PointT>
bool OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::_is_running [private]

Definition at line 122 of file OmniAlgoVRFilterDetection.hh.

Referenced by OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::loop_next_frame(), OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::loop_stop(), and OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::OmniAlgoVRFilterDetection().

template<class ConverterT, class AngleT, class ImageT, class PointT>
on_create_image_context_cb* OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::create_image_context [private]

Definition at line 104 of file OmniAlgoVRFilterDetection.hh.

template<class ConverterT, class AngleT, class ImageT, class PointT>
on_destroy_image_context_cb* OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::destroy_image_context [private]

Definition at line 110 of file OmniAlgoVRFilterDetection.hh.

template<class ConverterT, class AngleT, class ImageT, class PointT>
on_image_do_action_cb* OmniAlgoVRFilterDetection< ConverterT, AngleT, ImageT, PointT >::image_show [private]

Definition at line 107 of file OmniAlgoVRFilterDetection.hh.


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