vrcore  0.45
visuReal Messkern
 All Classes Files Functions Variables
iris_locator.h
1 //------------------------------------------------------------------------------
2 //
3 // visuReal Zentrierdaten-Ermittlung
4 //
5 // Original file: irisLocator.h
6 //
7 // Klasse, welche die Iris in einem Bildbereich genau lokalisiert.
8 //
9 // Robert Rossmair, 2012
10 //
11 // Copyright © 2012 Ollendorf Measurement Systems
12 // Dipl.-Ing. Hans-Joachim Ollendorf
13 // Zur Springe 5
14 // 39517 Brunkau
15 // Germany
16 //
17 //------------------------------------------------------------------------------
18 
19 #ifndef IRIS_LOCATOR_H
20 #define IRIS_LOCATOR_H
21 
22 const IrisLocatorPresets defaultIrisLocatorPresets = {20.0f, 1.0f, {5.5f, 7.0f, 0.1f}, 0.2f, 0.8f};
23 
24 // Funktor zur Übergabe an TBB-Parallelisierungsfunktionen
31 {
32 public:
33  IrisLocator (float pixelsPerMm, int& result, CircleImageData& resultData,
34  const IrisLocatorPresets& presets = defaultIrisLocatorPresets);
35  IrisLocator (const cv::Mat& imageRegion, float pixelsPerMm, int& result,
36  CircleImageData& resultData, const IrisLocatorPresets& presets = defaultIrisLocatorPresets);
37  ~IrisLocator();
38  void operator () () const;
39  void setSignificance(float* significance);
40 protected:
41  cv::Mat imageRegion_;
42  // Rückgabewert
43  // 0: kein Erfolg
44  // 1: Erfolg
45  int& result_;
46  CircleImageData& resultData_;
47  float* significance_;
48 
49  void init(const IrisLocatorPresets& presets, float pixelsPerMm);
50  virtual bool computeIrisLocation () const;
51 private:
52  struct Parameters
53  {
54  float accuThreshold;
55  float gaussSigma;
56  DetectionRange<float> radiusRangePixels;
57  float upperFraction;
58  float lowerFraction;
59  } parameters_;
60 
61  double computeCannyHighThreshold (const cv::Mat& srcImage) const;
62 };
63 
64 #endif // IRIS_LOCATOR_H
Voreinstellungen für IrisLocator.
Definition: types.h:62
Definition: iris_locator.h:30
Definition: types.h:21