vrcore  0.45
visuReal Messkern
 All Classes Files Functions Variables
draw_mets.h
1 #ifndef DRAW_METS_H
2 #define DRAW_METS_H
3 
4 //------------------------------------------------------------------------------
5 //
6 // visuReal Zentrierdaten-Ermittlung
7 //
8 // Original file: draw_mets.h
9 //
10 // Stellt die Funktion drawMets() zum Zeichnen der Begrenzungslinien
11 // für das Hoya Minimum Edge Thickness System (METS) bereit.
12 //
13 // Autor: Robert Rossmair, 2014
14 //
15 // Copyright © 2014 Ollendorf Measurement Systems
16 // Dipl.-Ing. Hans-Joachim Ollendorf
17 // Zur Springe 5
18 // 39517 Brunkau
19 // Germany
20 //
21 //------------------------------------------------------------------------------
22 
23 #include "stdafx.h"
24 
25 namespace vr {
26 
27 class MetsCorner {
28 public:
29  MetsCorner(const cv::Point2d& topNasal, const cv::Point2d& bottomTemporal,
30  const cv::Point2d& grooveDepth, const MetsQuadrant q, const MetsResult& mets);
31  ~MetsCorner() {};
32  // Ellipsenmittelpunkt
33  cv::Point2d center;
34  // Vektor zur Kastenecke
35  cv::Point2d toCorner;
36  // Startpunkt Ellipsenbogen
37  cv::Point2d start;
38  // Endpunkt Ellipsenbogen
39  cv::Point2d end;
40  void getSemiAxes(double& x, double& y) {
41  x = std::abs<double>(toCorner.x);
42  y = std::abs<double>(toCorner.y);
43  }
44  void draw(cv::Mat& image,
45  // vorige Ecke (zum Verbinden)
46  const MetsCorner& prevCorner,
47  // OpenCv Linienparameter
48  const cv::Scalar& color, int thickness=1, int lineType=CV_AA, int shift=0);
49 };
50 
64 void drawMets(cv::Mat& image,
65  // topNasal.x > bottomTemporal.x: rechtes Auge, sonst links
66  const cv::Point2d& topNasal, const cv::Point2d& bottomTemporal,
67  const double grooveDepth, const cv::Point2d& pixelsPerMm, const MetsResult& mets,
68  // OpenCv Linienparameter
69  const cv::Scalar& color, int thickness=1, int lineType=CV_AA, int shift=0);
70 }
71 
72 #endif
Definition: draw_mets.h:27