vrcore  0.45
visuReal Messkern
 All Classes Files Functions Variables
FaceFormAngleRefLocator.h
1 //------------------------------------------------------------------------------
2 //
3 // visuReal Zentrierdaten-Ermittlung
4 //
5 // Original file: FaceFormAngleRefLocator.h
6 //
7 // Findet die Referenzmarken für die Messung des Fassungsscheibenwinkels
8 // (weiße Ringe um Federstreben).
9 //
10 // Robert Rossmair, 2012
11 //
12 // Copyright © 2012 Ollendorf Measurement Systems
13 // Dipl.-Ing. Hans-Joachim Ollendorf
14 // Zur Springe 5
15 // 39517 Brunkau
16 // Germany
17 //
18 //------------------------------------------------------------------------------
19 
20 #ifndef FACEFORMANGLEREF_LOCATOR_H
21 #define FACEFORMANGLEREF_LOCATOR_H
22 
24 {
25 public:
26  SingleFaceFormAngleRefLocator(FrontHeadModel* headModel, const RoiRect& roi,
27  float pixelsPerMm, FloatPoint ffaMarkPos,
28  MarkImageData& resultData, bool& success);
30  void operator ()() const;
31 private:
32  cv::Mat imageRegion_;
33  MarkImageData& resultData_;
34  RoiRect roi_;
35  FloatPoint ffaMarkPos_;
36  float pixelsPerMm_;
37  bool& success_;
38  void blotOut(cv::Mat& image, const cv::Point2f& center, float radius, int fractionalBits = 2) const;
39 };
40 
41 class FaceFormAngleRefLocator : public Analyser<FrontHeadModel>
42 {
43 public:
45  int processing (LogableLogging *lpLogger);
46  bool isQualified ();
47 
48  int getResult () const;
49 private:
50  bool rightResult_;
51  bool leftResult_;
60  RoiRect getRoi(LateralSide side, const cv::Point2f& center, float pixelsPerMm, cv::Point2f displacement);
61 };
62 
63 // TODO: im Prinzip dasselbe wie "SwivelMarksCalculator" (nur andere Indices),
64 // ließe sich daher in ein Template verallgemeinern.
65 class FaceFormAngleRefCalculator : public Analyser<FrontHeadModel>
66 {
67 public:
69  int processing (LogableLogging *lpLogger);
70  bool isQualified ();
71  int getResult () const;
72 private:
73  int result_;
74  void mirror (FrontModelIndex srcIndex, FrontModelIndex dstIndex);
75 };
76 
77 #endif // FACEFORMANGLEREF_LOCATOR_H
Definition: HeadModel.h:84
Definition: FaceFormAngleRefLocator.h:65
beschreibt eine Visierbügelmarke
Definition: types.h:31
Definition: FaceFormAngleRefLocator.h:23
Definition: Analyser.h:5
Definition: FaceFormAngleRefLocator.h:41
Definition: Processable.h:29