00001 // This is brl/bseg/vpro/vpro_motion_process.h 00002 #ifndef vpro_motion_process_h_ 00003 #define vpro_motion_process_h_ 00004 //-------------------------------------------------------------------------------- 00005 //: 00006 // \file 00007 // \brief detects linear motion 00008 // \author J.L. Mundy 00009 // 00010 // \verbatim 00011 // Modifications 00012 // J.L. Mundy - February 16, 2003 - Initial version. 00013 // \endverbatim 00014 //----------------------------------------------------------------------------- 00015 #include <vcl_vector.h> 00016 #include <vpro/vpro_motion_params.h> 00017 #include <vpro/vpro_video_process.h> 00018 00019 class vpro_motion_process: public vpro_video_process, public vpro_motion_params 00020 { 00021 public: 00022 enum state_symbol {NO_IMAGE=0, FIRST_IMAGE, IN_PROCESS}; 00023 vpro_motion_process(vpro_motion_params& vmp); 00024 ~vpro_motion_process(); 00025 virtual process_data_type get_output_type() const { return IMAGE; } 00026 //: compute motion 00027 virtual bool execute(); 00028 virtual bool finish(); 00029 private: 00030 //local methods 00031 vpro_motion_process();//prevent default constructor 00032 void compute_motion(vil1_image ix, vil1_image iy); 00033 void update_queue(vil1_image ix, vil1_image iy); 00034 //members 00035 state_symbol state_; 00036 bool first_frame_; 00037 vcl_vector<vil1_image > queuex_; 00038 vcl_vector<vil1_image > queuey_; 00039 }; 00040 00041 #endif // vpro_motion_process_h_
1.7.5.1