source: flair-dev/tags/0.1.1/include/FlairVisionFilter/HoughLines.h

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

m

File size: 2.0 KB
Line 
1/*!
2 * \file HoughLines.h
3 * \brief HoughLines algorithm
4 * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253
5 * \date 2015/10/07
6 * \version 4.0
7 */
8
9
10#ifndef HOUGHLINES_H
11#define HOUGHLINES_H
12
13#include <IODevice.h>
14#include <cv.h>
15
16namespace flair {
17 namespace core {
18 class cvimage;
19 class cvmatrix;
20 }
21 namespace gui {
22 class LayoutPosition;
23 class SpinBox;
24 class DoubleSpinBox;
25 }
26}
27
28namespace flair { namespace filter {
29 /*! \class HoughLines
30 *
31 * \brief HoughLines algorithm
32 *
33 * HoughLines is done using the DSP of the DM3730.
34 */
35 class HoughLines : public core::IODevice {
36 public:
37 /*!
38 * \brief Constructor
39 *
40 * Construct an OpticalFlow filter at given position. \n
41 * After calling this function, position will be deleted as it is no longer usefull. \n
42 *
43 * \param parent parent
44 * \param position position
45 * \param name name
46 */
47 HoughLines(const core::IODevice* parent,const gui::LayoutPosition* position,std::string name);
48
49 /*!
50 * \brief Destructor
51 *
52 */
53 ~HoughLines();
54
55 bool isLineDetected(void) const;
56 float GetOrientation(void) const;
57 float GetDistance(void) const;
58 core::cvmatrix *Output(void) const;
59
60 private:
61 void UpdateFrom(const core::io_data *data);
62 gui::SpinBox *fullRhoStep,*trackingRhoStep,*nbPoints;
63 gui::DoubleSpinBox *fullThetaStep,*trackingThetaStep,*trackingDeltaTheta;
64 bool isTracking,lostLine,initLine,noLine;
65 int nbLines;
66 float yawMean,prevYawMean;
67 float prevRhoMean,rhoMean;
68 float prevThetaMean,thetaMean;
69 float distance,orientation;
70 CvMat* linesStorage;
71 core::cvmatrix *output;
72 };
73} // end namespace filter
74} // end namespace flair
75#endif // HOUGHLINES_H
Note: See TracBrowser for help on using the repository browser.