www.pudn.com > ReadingPeopleTracker-1.28.rar > HumanFeatures.h
/////////////////////////////////////////////////////////////////////////////// // // // HumanFeatures.h // // // // Some definitions and structures for human features such as head etc // // // // Author : Nils T Siebel (nts) // // Created : Tue Apr 17 15:57:52 BST 2001 // // Revision : 0.1 of Thu Apr 19 12:20:49 BST 2001 // // Copyright : The University of Reading // // // /////////////////////////////////////////////////////////////////////////////// #ifndef __HUMAN_FEATURES_H__ #define __HUMAN_FEATURES_H__ #include#include "Observation.h" #include "tracker_defines_types_and_helpers.h" namespace ReadingPeopleTracker { class HumanFeatures : public Observation { public: HeadInfo *head; // head data // empty contructor and destructor HumanFeatures (ObservationSourceType data_source = OTHER) : Observation(data_source) { // nothing }; HumanFeatures &operator= (HumanFeatures &original); ~HumanFeatures() { if ((head != NULL) && (head->head_histogram != NULL)) delete head->head_histogram; }; // draw parameters: set by ScreenOutput for now static bool draw_head_search_area; static bool draw_head_bbox; static bool draw_head_centre; static bool draw_shoulder_width; // member functions void draw(); // draw all detected HumanFeatures on screen void draw_head(); // draw head }; // operators to write out HeadInfo structure and HumanFeatures class data ostream &operator << (ostream &target, const HeadInfo &head); ostream &operator << (ostream &target, const HumanFeatures &features); // Warning: this one is empty now. we need it for listimplement(HumanFeatures) // in HumanFeatureSet istream &operator >> (istream &source, HumanFeatures &features); } // namespace ReadingPeopleTracker #endif