source: flair-dev/trunk/include/FlairVisionFilter/OpticalFlow.h @ 44

Last change on this file since 44 was 44, checked in by Sanahuja Guillaume, 4 years ago

m

File size: 1.8 KB
Line 
1/*!
2 * \file OpticalFlow.h
3 * \brief Lucas and Kanade optical flow algorithm
4 * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253
5 * \date 2012/04/12
6 * \version 4.0
7 */
8
9
10#ifndef OPTICALFLOW_H
11#define OPTICALFLOW_H
12
13#include <IODevice.h>
14#include <cv.h>
15
16namespace flair
17{
18    namespace core
19    {
20        class cvimage;
21        class OneAxisRotation;
22    }
23    namespace gui
24    {
25        class LayoutPosition;
26        class SpinBox;
27    }
28    namespace filter
29    {
30        class OpticalFlowData;
31    }
32}
33
34namespace flair
35{
36namespace filter
37{
38    /*! \class OpticalFlow
39    *
40    * \brief Lucas and Kanade optical flow algorithm
41    *
42    * Optical flow is done using the DSP of the DM3730.
43    */
44    class OpticalFlow : public core::IODevice
45    {
46
47        public:
48            /*!
49            * \brief Constructor
50            *
51            * Construct an OpticalFlow filter at given position. \n
52            * After calling this function, position will be deleted as it is no longer usefull. \n
53            *
54            * \param parent parent
55            * \param position position
56            * \param name name
57            */
58            OpticalFlow(const core::IODevice* parent,const gui::LayoutPosition* position,std::string name);
59
60            /*!
61            * \brief Destructor
62            *
63            */
64            ~OpticalFlow();
65
66        private:
67            void UpdateFrom(const core::io_data *data);
68            OpticalFlowData *output;
69            gui::SpinBox *max_features;
70            core::OneAxisRotation* rotation;
71
72            CvPoint* pointsA;
73            CvPoint* pointsB;
74            char *found_feature;
75            unsigned int *feature_error;
76            IplImage *pyr,*pyr_old;
77
78            bool is_init;
79    };
80} // end namespace filter
81} // end namespace flair
82#endif // OPTICALFLOW_H
Note: See TracBrowser for help on using the repository browser.