source: flair-src/tags/latest/lib/FlairVisionFilter/src/HoughLines.h

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

remove opencv dep

File size: 1.9 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 <Vector2D.h>
15
16namespace flair {
17 namespace core {
18 class Matrix;
19 }
20 namespace gui {
21 class LayoutPosition;
22 }
23}
24
25class HoughLines_impl;
26
27namespace flair { namespace filter {
28 /*! \class HoughLines
29 *
30 * \brief HoughLines algorithm
31 *
32 * HoughLines is done using the DSP of the DM3730.
33 */
34 class HoughLines : public core::IODevice {
35 public:
36 /*!
37 * \brief Constructor
38 *
39 * Construct an OpticalFlow filter at given position. \n
40 * After calling this function, position will be deleted as it is no longer usefull. \n
41 *
42 * \param parent parent
43 * \param position position
44 * \param name name
45 * \param ptRefGlobal reference point used to compute distance to the line
46 * \param thetaRefGlobal reference angle used to compute orientation in range [-pi/2,pi/2]. Default value is 0 which defines a vertical line
47 */
48 HoughLines(const core::IODevice* parent,const gui::LayoutPosition* position,std::string name,const core::Vector2Df *ptRefGlobal=NULL,float thetaRefGlobal=0);
49
50 /*!
51 * \brief Destructor
52 *
53 */
54 ~HoughLines();
55
56 bool isLineDetected(void) const;
57 float GetOrientation(void) const;
58 float GetDistance(void) const;
59 core::Matrix *Output(void) const;
60
61 private:
62 void UpdateFrom(const core::io_data *data);
63 class HoughLines_impl *pimpl_;
64
65
66 };
67} // end namespace filter
68} // end namespace flair
69#endif // HOUGHLINES_H
Note: See TracBrowser for help on using the repository browser.