@@ -11,6 +11,55 @@ namespace aruco {
1111// ! @addtogroup aruco
1212// ! @{
1313
14+ /* * @brief rvec/tvec define the right handed coordinate system of the marker.
15+ *
16+ * PatternPositionType defines center this system and axes direction.
17+ * Axis X (red color) - first coordinate, axis Y (green color) - second coordinate,
18+ * axis Z (blue color) - third coordinate.
19+ * @sa estimatePoseSingleMarkers(), check tutorial_aruco_detection in aruco contrib
20+ */
21+ enum PatternPositionType {
22+ /* * @brief The marker coordinate system is centered on the middle of the marker.
23+ *
24+ * The coordinates of the four corners (CCW order) of the marker in its own coordinate system are:
25+ * (-markerLength/2, markerLength/2, 0), (markerLength/2, markerLength/2, 0),
26+ * (markerLength/2, -markerLength/2, 0), (-markerLength/2, -markerLength/2, 0).
27+ *
28+ * These pattern points define this coordinate system:
29+ * 
30+ */
31+ ARUCO_CCW_CENTER,
32+ /* * @brief The marker coordinate system is centered on the top-left corner of the marker.
33+ *
34+ * The coordinates of the four corners (CW order) of the marker in its own coordinate system are:
35+ * (0, 0, 0), (markerLength, 0, 0),
36+ * (markerLength, markerLength, 0), (0, markerLength, 0).
37+ *
38+ * These pattern points define this coordinate system:
39+ * 
40+ *
41+ * These pattern dots are convenient to use with a chessboard/ChArUco board.
42+ */
43+ ARUCO_CW_TOP_LEFT_CORNER
44+ };
45+
46+ /* * @brief Pose estimation parameters
47+ *
48+ * @param pattern Defines center this system and axes direction (default PatternPositionType::ARUCO_CCW_CENTER).
49+ * @param useExtrinsicGuess Parameter used for SOLVEPNP_ITERATIVE. If true (1), the function uses the provided
50+ * rvec and tvec values as initial approximations of the rotation and translation vectors, respectively, and further
51+ * optimizes them (default false).
52+ * @param solvePnPMethod Method for solving a PnP problem: see @ref calib3d_solvePnP_flags (default SOLVEPNP_ITERATIVE).
53+ * @sa PatternPositionType, solvePnP(), check tutorial_aruco_detection in aruco contrib
54+ */
55+ struct CV_EXPORTS_W EstimateParameters {
56+ CV_PROP_RW PatternPositionType pattern;
57+ CV_PROP_RW bool useExtrinsicGuess;
58+ CV_PROP_RW int solvePnPMethod;
59+
60+ CV_WRAP EstimateParameters ();
61+ };
62+
1463/* *
1564 * @brief Calibrate a camera using aruco markers
1665 *
0 commit comments