source: flair-src/branches/sanscv/lib/FlairVisionFilter/src/OpticalFlow.h@ 324

Last change on this file since 324 was 324, checked in by Sanahuja Guillaume, 5 years ago

removing opencv dependency

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 <cvtypes.h>
15
16namespace flair {
17 namespace core {
18 class Image;
19 class OneAxisRotation;
20 }
21 namespace gui {
22 class LayoutPosition;
23 class SpinBox;
24 }
25 namespace filter {
26 class OpticalFlowData;
27 }
28}
29
30namespace flair {
31namespace filter {
32 /*! \class OpticalFlow
33 *
34 * \brief Lucas and Kanade optical flow algorithm
35 *
36 * Optical flow is done using the DSP of the DM3730.
37 */
38 class OpticalFlow : public core::IODevice
39 {
40
41 public:
42 /*!
43 * \brief Constructor
44 *
45 * Construct an OpticalFlow filter at given position. \n
46 * After calling this function, position will be deleted as it is no longer usefull. \n
47 *
48 * \param parent parent
49 * \param position position
50 * \param name name
51 */
52 OpticalFlow(const core::IODevice* parent,const gui::LayoutPosition* position,std::string name);
53
54 /*!
55 * \brief Destructor
56 *
57 */
58 ~OpticalFlow();
59
60 private:
61 void UpdateFrom(const core::io_data *data);
62 OpticalFlowData *output;
63 gui::SpinBox *max_features;
64 core::OneAxisRotation* rotation;
65
66 CvPoint* pointsA;
67 CvPoint* pointsB;
68 char *found_feature;
69 unsigned int *feature_error;
70 core::Image *pyr,*pyr_old;
71
72 bool is_init;
73 };
74} // end namespace filter
75} // end namespace flair
76#endif // OPTICALFLOW_H
Note: See TracBrowser for help on using the repository browser.