vrcore  0.45
visuReal Messkern
 All Classes Files Functions Variables
mark_locator.h
Go to the documentation of this file.
1 #ifndef VR_MARKLOCATOR_H
2 #define VR_MARKLOCATOR_H
3 
8 namespace vr
9 {
10 
11 class Circles
12 {
13 public:
14  int radiusMin;
15  int radiusMax;
16  int accuThreshold;
17  float accuResolution;
18  float minDistance;
19  float cannyThreshold;
20  size_t found(cv::Mat& mat);
21 
22  Circles();
23  ~Circles();
24  int count();
25  cv::Vec3f* item(int i);
26 private:
27  std::vector<cv::Vec3f> items_;
28 };
29 
30 class MarkEvaluator;
31 
33 {
34 public:
35  MarkLocator();
36  ~MarkLocator();
37  bool search(MarkEvaluator& evaluator, const cv::Mat& image,
38  const int radiusMin,
39  const int radiusMax,
40  const size_t minCandidates = 1);
45  void setTimeOutPeriod(double secs);
46  double getTimeOutPeriod();
51  void setParameters(const float cannyThresholdMin);
56  void getParameters(float& cannyThresholdMin);
60  void needSortedCandidates();
61  inline size_t candidateCount() const { return candidateCount_; };
62  inline const std::vector<MarkImageData>& candidates() const { return candidates_; };
63 private:
64  void collectCandidates(cv::Mat& image);
65  void sortCandidates(int L, int R);
66  void adjustCannyThreshold(cv::Mat& image);
67  void startTimeoutPeriod();
68  bool timeOut();
69 
70  MarkOrientationDetector classifier_;
71 
72  Circles circles_;
73  float initialGaussSigma_;
74  float minGaussSigma_;
75  float gaussSigmaDelta_;
76  float cannyThresholdMin_;
77  float cannyThreshDecFactor_;
78  int initialCannyThreshold_;
79  std::vector<MarkImageData> candidates_;
80  size_t minCandidates_;
81  size_t candidateCount_;
82  int64 t0_;
83  int64 timeOutPeriod_;
84 };
85 
86 }
87 
88 #endif // VR_MARKLOCATOR_H
void setTimeOutPeriod(double secs)
Definition: mark_locator.cpp:215
Definition: mark_locator.h:11
Definition: MarkOrientationDetectors.h:22
Definition: mark_locator.h:32
void getParameters(float &cannyThresholdMin)
Definition: mark_locator.cpp:226
void needSortedCandidates()
Definition: mark_locator.cpp:173
Definition: mark_evaluators.h:6
void setParameters(const float cannyThresholdMin)
Definition: mark_locator.cpp:231