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

Last change on this file since 44 was 44, checked in by Sanahuja Guillaume, 8 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.