vrcore  0.45
visuReal Messkern
 All Classes Files Functions Variables
MarkDetector.h
1 #pragma once
2 
4  {
5  private:
6  double dCfgCirclesGaussSigmaStepSize, dCfgCirclesGaussSigmaMin, dCfgCirclesGaussSigmaMax;
7  double accuResolution;
8  double accuThreshold;
9  double cannyThreshold;
10  cv::Mat mat;
11  bool detect (cv::Mat &mat, int radiusMin, int radiusMax, MarkImageData &mark);
12  public:
13  CircleDetector ();
14  bool detectCircle (cv::Mat &mRoi, int radiusMax, int radiusMin, int maxResult, int minResult, MarkImageData &mark);
15  };
16 
18  {
19  private:
20  double dCfgSubPixelGaussSigma;
21  cv::Size zeroZone;
22  cv::Mat mat;
23  public:
24  SubPixelLocator ();
25  bool locateCornerSubPixel (cv::Mat &mRoi, int winSize, MarkImageData &mark);
26  };
27 
29  {
30  public:
31  enum Result {
32  RES_ERROR = -1,
33  RES_SUCCESS,
34  RES_ADJUSTED,
35  RES_CALCULATED
36  };
37  private:
38  int result;
39  MarkImageData markData;
40  CircleDetector circleDetector;
41  SubPixelLocator subPixler;
42  MarkOrientationDetector markOrientationDetector;
43  void adjustRoi (RoiRect &rRoi, MarkImageData &mark);
44  int handleDetection (RoiRect &rRoi, HeadModel *lpHeadModel, MarkDetectDesc &detectDesc, MarkImageData &markData);
45  int adjustMarkDetection (HeadModel *lpHeadModel, MarkDetectDesc &detectDesc);
46  public:
47  MarkDetector ();
48  ~MarkDetector ();
49  int getResult () const { return result; }
50  void processRoi (RoiRect &rRoi, HeadModel *lpHeadModel, MarkDetectDesc &detectDesc);
51  bool getMarkData (MarkImageData &markData);
52  };
53 
beschreibt eine Visierbügelmarke
Definition: types.h:31
Definition: MarkOrientationDetectors.h:22
Definition: MarkDetector.h:17
Definition: MarkDetector.h:3
Parameter für die Erkennung der Visierbügelmarken.
Definition: mark_types.h:11
Definition: MarkDetector.h:28
Definition: HeadModel.h:15
Definition: iris_locator.cpp:83