1 #ifndef MEASURING_ATTACHMENT_H
2 #define MEASURING_ATTACHMENT_H
19 namespace measuringattachment
32 cv::Vec3d topLeft, bottomLeft, bottomRight, topRight;
42 namespace matt = vr::measuringattachment;
55 const LateralSide side);
59 cv::Point2f& markPos);
61 matt::Configuration computeResult()
const;
63 float contrast (cv::Point2d
const& point)
const;
65 cv::Mat
const& grayScaleImage_;
67 cv::Point2f adultPos_;
68 cv::Point2f childPos_;
86 static const double ADULT_POS_MM;
87 SpringStrut() : xFfaRef_(std::numeric_limits<double>::quiet_NaN()), side_(RIGHT) {};
105 const cv::Vec3d& getLineMark();
106 const cv::Vec3d& getUpperSideMark();
153 static const double ffaMarkAxisDistance;
157 static const double xFfaRef;
159 static const double ffaMarkContactFaceDistance;
163 cv::Matx33d rotationMatrixToB;
164 cv::Matx33d rotationMatrixFromB;
165 cv::Matx33d rotationMatrixToB_inv;
166 cv::Vec3d origin[measuringattachment::CONFIGURATION];
186 static const cv::Vec3d null;
187 static const cv::Vec3d down;
195 static const double mainMarkDistance;
196 static const double mainMarkPeakMarkDistance;
197 static const Plane framePlane;
200 static const cv::Point3f guessedPupils[LATERAL_SIDE];
204 const cv::Vec3d& getUpperSideMark(LateralSide side);
211 static measuringattachment::Configuration getConfiguration();
212 static void setConfiguration(measuringattachment::Configuration configuration);
213 static void getTransformation(
const cv::Matx33d& cameraMatrix,
219 cv::InputArray distortionCoeffs = noDistortionCoeffs);
240 static cv::Point2f getGuessedPupil(
const LateralSide side,
242 void reset() { getSpringStrut(_R).reset(); getSpringStrut(_L).reset(); };
245 static measuringattachment::Configuration configuration_;
247 static const std::vector<cv::Point3f> mainMarks;
251 static measuringattachment::Configuration validConfiguration();
256 namespace matt = vr::measuringattachment;
259 #endif // MEASURING_ATTACHMENT_H
static const double inclination
Neigung der Federstreben-Achsen gegen die Senkrechte bei Projektion auf die x-z-Ebene.
Definition: MeasuringAttachment.h:199
double getFaceFormAngleRefX() const
gibt an, wie weit die Federstrebe ausgefahren ist.
Definition: MeasuringAttachment.cpp:279
bool computeFfaMark(const Line &viewRay)
berechnet die Position der FSW-Marke im Koordinatensystem der Federstrebe.
Definition: MeasuringAttachment.cpp:222
cv::Rect getFfaRoi(const CoordinateTransformation &ct) const
Definition: MeasuringAttachment.cpp:302
Diese Klasse repräsentiert den Visierbügel.
Definition: MeasuringAttachment.h:182
static const cv::Vec3d peakMark
Hauptmarke Mitte (auf Ausleger), Marke "OM".
Definition: MeasuringAttachment.h:194
void computeFfaRing(const Line &viewRay)
Definition: MeasuringAttachment.cpp:248
double getFaceFormAngle() const
gibt Fassungsscheibenwinkel zurück
Definition: MeasuringAttachment.cpp:271
Line getAxis() const
gibt Federstrebenachse zurück.
Definition: MeasuringAttachment.cpp:256
static const double CHILD_POS_MM
Definition: MeasuringAttachment.h:85
static const cv::Vec3d mainMarkR
Hauptmarke rechts, "OR".
Definition: MeasuringAttachment.h:190
cv::Vec3d transformToB(const cv::Vec3d &point) const
Koordinatentransformation Federstrebensystem -> Bügelsystem.
Definition: MeasuringAttachment.cpp:336
cv::Vec3d getFaceFormAngleMark() const
gibt den Mittelpunkt der FSW-Marke zurück.
Definition: MeasuringAttachment.cpp:289
static void computeConfiguration(const cv::Mat &image, const CoordinateTransformation &t)
ermittelt die Bügelkonfiguration (Erwachsenenbrille | Kinderbrille)
Definition: MeasuringAttachment.cpp:372
static const cv::Vec3d mainMarkL
Hauptmarke links, Marke "OL".
Definition: MeasuringAttachment.h:192
Unterscheidet Visierbügelkonfigurationen Erwachsener/Kind.
Definition: MeasuringAttachment.h:50
static const double contactFaceAxisDistance
Abstand Anlagefläche von Federstrebenachse in mm.
Definition: MeasuringAttachment.h:82
static cv::Vec3d getFramePlaneIntersection(const Line &line)
berechnet den Schnittpunkt der Gerade line mit der Fassungsebene.
Definition: MeasuringAttachment.cpp:436
cv::Vec3d transformFromB(const cv::Vec3d &point) const
Definition: MeasuringAttachment.cpp:330
cv::Vec3d getFaceFormAngleRefPoint() const
gibt den Fußpunkt der FSW-Marke auf der Federstrebenachse zurück.
Definition: MeasuringAttachment.cpp:284
Ebene.
Definition: algorithms.h:68
Gerade im Raum.
Definition: algorithms.h:22
repräsentiert eine Federstrebe des Meßbügels
Definition: MeasuringAttachment.h:78