123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782 |
- //
- // This file is auto-generated. Please don't modify it!
- //
- #pragma once
- #ifdef __cplusplus
- //#import "opencv.hpp"
- #import "opencv2/aruco.hpp"
- #import "aruco/charuco.hpp"
- #else
- #define CV_EXPORTS
- #endif
- #import <Foundation/Foundation.h>
- @class Board;
- @class CharucoBoard;
- @class DetectorParameters;
- @class Dictionary;
- @class Int4;
- @class Mat;
- @class Size2i;
- @class TermCriteria;
- // C++: enum PatternPositionType (cv.aruco.PatternPositionType)
- typedef NS_ENUM(int, PatternPositionType) {
- ARUCO_CCW_CENTER = 0,
- ARUCO_CW_TOP_LEFT_CORNER = 1
- };
- NS_ASSUME_NONNULL_BEGIN
- // C++: class Aruco
- /**
- * The Aruco module
- *
- * Member classes: `EstimateParameters`
- *
- * Member enums: `PatternPositionType`
- */
- CV_EXPORTS @interface Aruco : NSObject
- #pragma mark - Methods
- //
- // void cv::aruco::detectMarkers(Mat image, Ptr_Dictionary dictionary, vector_Mat& corners, Mat& ids, Ptr_DetectorParameters parameters = makePtr<DetectorParameters>(), vector_Mat& rejectedImgPoints = vector_Mat())
- //
- /**
- * detect markers
- * @deprecated Use class ArucoDetector::detectMarkers
- */
- + (void)detectMarkers:(Mat*)image dictionary:(Dictionary*)dictionary corners:(NSMutableArray<Mat*>*)corners ids:(Mat*)ids parameters:(DetectorParameters*)parameters rejectedImgPoints:(NSMutableArray<Mat*>*)rejectedImgPoints NS_SWIFT_NAME(detectMarkers(image:dictionary:corners:ids:parameters:rejectedImgPoints:)) DEPRECATED_ATTRIBUTE;
- /**
- * detect markers
- * @deprecated Use class ArucoDetector::detectMarkers
- */
- + (void)detectMarkers:(Mat*)image dictionary:(Dictionary*)dictionary corners:(NSMutableArray<Mat*>*)corners ids:(Mat*)ids parameters:(DetectorParameters*)parameters NS_SWIFT_NAME(detectMarkers(image:dictionary:corners:ids:parameters:)) DEPRECATED_ATTRIBUTE;
- /**
- * detect markers
- * @deprecated Use class ArucoDetector::detectMarkers
- */
- + (void)detectMarkers:(Mat*)image dictionary:(Dictionary*)dictionary corners:(NSMutableArray<Mat*>*)corners ids:(Mat*)ids NS_SWIFT_NAME(detectMarkers(image:dictionary:corners:ids:)) DEPRECATED_ATTRIBUTE;
- //
- // void cv::aruco::refineDetectedMarkers(Mat image, Ptr_Board board, vector_Mat& detectedCorners, Mat& detectedIds, vector_Mat& rejectedCorners, Mat cameraMatrix = Mat(), Mat distCoeffs = Mat(), float minRepDistance = 10.f, float errorCorrectionRate = 3.f, bool checkAllOrders = true, Mat& recoveredIdxs = Mat(), Ptr_DetectorParameters parameters = makePtr<DetectorParameters>())
- //
- /**
- * refine detected markers
- * @deprecated Use class ArucoDetector::refineDetectedMarkers
- */
- + (void)refineDetectedMarkers:(Mat*)image board:(Board*)board detectedCorners:(NSMutableArray<Mat*>*)detectedCorners detectedIds:(Mat*)detectedIds rejectedCorners:(NSMutableArray<Mat*>*)rejectedCorners cameraMatrix:(Mat*)cameraMatrix distCoeffs:(Mat*)distCoeffs minRepDistance:(float)minRepDistance errorCorrectionRate:(float)errorCorrectionRate checkAllOrders:(BOOL)checkAllOrders recoveredIdxs:(Mat*)recoveredIdxs parameters:(DetectorParameters*)parameters NS_SWIFT_NAME(refineDetectedMarkers(image:board:detectedCorners:detectedIds:rejectedCorners:cameraMatrix:distCoeffs:minRepDistance:errorCorrectionRate:checkAllOrders:recoveredIdxs:parameters:)) DEPRECATED_ATTRIBUTE;
- /**
- * refine detected markers
- * @deprecated Use class ArucoDetector::refineDetectedMarkers
- */
- + (void)refineDetectedMarkers:(Mat*)image board:(Board*)board detectedCorners:(NSMutableArray<Mat*>*)detectedCorners detectedIds:(Mat*)detectedIds rejectedCorners:(NSMutableArray<Mat*>*)rejectedCorners cameraMatrix:(Mat*)cameraMatrix distCoeffs:(Mat*)distCoeffs minRepDistance:(float)minRepDistance errorCorrectionRate:(float)errorCorrectionRate checkAllOrders:(BOOL)checkAllOrders recoveredIdxs:(Mat*)recoveredIdxs NS_SWIFT_NAME(refineDetectedMarkers(image:board:detectedCorners:detectedIds:rejectedCorners:cameraMatrix:distCoeffs:minRepDistance:errorCorrectionRate:checkAllOrders:recoveredIdxs:)) DEPRECATED_ATTRIBUTE;
- /**
- * refine detected markers
- * @deprecated Use class ArucoDetector::refineDetectedMarkers
- */
- + (void)refineDetectedMarkers:(Mat*)image board:(Board*)board detectedCorners:(NSMutableArray<Mat*>*)detectedCorners detectedIds:(Mat*)detectedIds rejectedCorners:(NSMutableArray<Mat*>*)rejectedCorners cameraMatrix:(Mat*)cameraMatrix distCoeffs:(Mat*)distCoeffs minRepDistance:(float)minRepDistance errorCorrectionRate:(float)errorCorrectionRate checkAllOrders:(BOOL)checkAllOrders NS_SWIFT_NAME(refineDetectedMarkers(image:board:detectedCorners:detectedIds:rejectedCorners:cameraMatrix:distCoeffs:minRepDistance:errorCorrectionRate:checkAllOrders:)) DEPRECATED_ATTRIBUTE;
- /**
- * refine detected markers
- * @deprecated Use class ArucoDetector::refineDetectedMarkers
- */
- + (void)refineDetectedMarkers:(Mat*)image board:(Board*)board detectedCorners:(NSMutableArray<Mat*>*)detectedCorners detectedIds:(Mat*)detectedIds rejectedCorners:(NSMutableArray<Mat*>*)rejectedCorners cameraMatrix:(Mat*)cameraMatrix distCoeffs:(Mat*)distCoeffs minRepDistance:(float)minRepDistance errorCorrectionRate:(float)errorCorrectionRate NS_SWIFT_NAME(refineDetectedMarkers(image:board:detectedCorners:detectedIds:rejectedCorners:cameraMatrix:distCoeffs:minRepDistance:errorCorrectionRate:)) DEPRECATED_ATTRIBUTE;
- /**
- * refine detected markers
- * @deprecated Use class ArucoDetector::refineDetectedMarkers
- */
- + (void)refineDetectedMarkers:(Mat*)image board:(Board*)board detectedCorners:(NSMutableArray<Mat*>*)detectedCorners detectedIds:(Mat*)detectedIds rejectedCorners:(NSMutableArray<Mat*>*)rejectedCorners cameraMatrix:(Mat*)cameraMatrix distCoeffs:(Mat*)distCoeffs minRepDistance:(float)minRepDistance NS_SWIFT_NAME(refineDetectedMarkers(image:board:detectedCorners:detectedIds:rejectedCorners:cameraMatrix:distCoeffs:minRepDistance:)) DEPRECATED_ATTRIBUTE;
- /**
- * refine detected markers
- * @deprecated Use class ArucoDetector::refineDetectedMarkers
- */
- + (void)refineDetectedMarkers:(Mat*)image board:(Board*)board detectedCorners:(NSMutableArray<Mat*>*)detectedCorners detectedIds:(Mat*)detectedIds rejectedCorners:(NSMutableArray<Mat*>*)rejectedCorners cameraMatrix:(Mat*)cameraMatrix distCoeffs:(Mat*)distCoeffs NS_SWIFT_NAME(refineDetectedMarkers(image:board:detectedCorners:detectedIds:rejectedCorners:cameraMatrix:distCoeffs:)) DEPRECATED_ATTRIBUTE;
- /**
- * refine detected markers
- * @deprecated Use class ArucoDetector::refineDetectedMarkers
- */
- + (void)refineDetectedMarkers:(Mat*)image board:(Board*)board detectedCorners:(NSMutableArray<Mat*>*)detectedCorners detectedIds:(Mat*)detectedIds rejectedCorners:(NSMutableArray<Mat*>*)rejectedCorners cameraMatrix:(Mat*)cameraMatrix NS_SWIFT_NAME(refineDetectedMarkers(image:board:detectedCorners:detectedIds:rejectedCorners:cameraMatrix:)) DEPRECATED_ATTRIBUTE;
- /**
- * refine detected markers
- * @deprecated Use class ArucoDetector::refineDetectedMarkers
- */
- + (void)refineDetectedMarkers:(Mat*)image board:(Board*)board detectedCorners:(NSMutableArray<Mat*>*)detectedCorners detectedIds:(Mat*)detectedIds rejectedCorners:(NSMutableArray<Mat*>*)rejectedCorners NS_SWIFT_NAME(refineDetectedMarkers(image:board:detectedCorners:detectedIds:rejectedCorners:)) DEPRECATED_ATTRIBUTE;
- //
- // void cv::aruco::drawPlanarBoard(Ptr_Board board, Size outSize, Mat& img, int marginSize, int borderBits)
- //
- /**
- * draw planar board
- * @deprecated Use Board::generateImage
- */
- + (void)drawPlanarBoard:(Board*)board outSize:(Size2i*)outSize img:(Mat*)img marginSize:(int)marginSize borderBits:(int)borderBits NS_SWIFT_NAME(drawPlanarBoard(board:outSize:img:marginSize:borderBits:)) DEPRECATED_ATTRIBUTE;
- //
- // void cv::aruco::getBoardObjectAndImagePoints(Ptr_Board board, vector_Mat detectedCorners, Mat detectedIds, Mat& objPoints, Mat& imgPoints)
- //
- /**
- * get board object and image points
- * @deprecated Use Board::matchImagePoints
- */
- + (void)getBoardObjectAndImagePoints:(Board*)board detectedCorners:(NSArray<Mat*>*)detectedCorners detectedIds:(Mat*)detectedIds objPoints:(Mat*)objPoints imgPoints:(Mat*)imgPoints NS_SWIFT_NAME(getBoardObjectAndImagePoints(board:detectedCorners:detectedIds:objPoints:imgPoints:)) DEPRECATED_ATTRIBUTE;
- //
- // int cv::aruco::estimatePoseBoard(vector_Mat corners, Mat ids, Ptr_Board board, Mat cameraMatrix, Mat distCoeffs, Mat& rvec, Mat& tvec, bool useExtrinsicGuess = false)
- //
- /**
- * @deprecated Use cv::solvePnP
- */
- + (int)estimatePoseBoard:(NSArray<Mat*>*)corners ids:(Mat*)ids board:(Board*)board cameraMatrix:(Mat*)cameraMatrix distCoeffs:(Mat*)distCoeffs rvec:(Mat*)rvec tvec:(Mat*)tvec useExtrinsicGuess:(BOOL)useExtrinsicGuess NS_SWIFT_NAME(estimatePoseBoard(corners:ids:board:cameraMatrix:distCoeffs:rvec:tvec:useExtrinsicGuess:)) DEPRECATED_ATTRIBUTE;
- /**
- * @deprecated Use cv::solvePnP
- */
- + (int)estimatePoseBoard:(NSArray<Mat*>*)corners ids:(Mat*)ids board:(Board*)board cameraMatrix:(Mat*)cameraMatrix distCoeffs:(Mat*)distCoeffs rvec:(Mat*)rvec tvec:(Mat*)tvec NS_SWIFT_NAME(estimatePoseBoard(corners:ids:board:cameraMatrix:distCoeffs:rvec:tvec:)) DEPRECATED_ATTRIBUTE;
- //
- // bool cv::aruco::estimatePoseCharucoBoard(Mat charucoCorners, Mat charucoIds, Ptr_CharucoBoard board, Mat cameraMatrix, Mat distCoeffs, Mat& rvec, Mat& tvec, bool useExtrinsicGuess = false)
- //
- /**
- * Pose estimation for a ChArUco board given some of their corners
- * @param charucoCorners vector of detected charuco corners
- * @param charucoIds list of identifiers for each corner in charucoCorners
- * @param board layout of ChArUco board.
- * @param cameraMatrix input 3x3 floating-point camera matrix
- * `$$\newcommand{\vecthreethree}[9]{ \begin{bmatrix} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \end{bmatrix} } A = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}$$`
- * @param distCoeffs vector of distortion coefficients
- * `$$(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6],[s_1, s_2, s_3, s_4]])$$` of 4, 5, 8 or 12 elements
- * @param rvec Output vector (e.g. cv::Mat) corresponding to the rotation vector of the board
- * (see cv::Rodrigues).
- * @param tvec Output vector (e.g. cv::Mat) corresponding to the translation vector of the board.
- * @param useExtrinsicGuess defines whether initial guess for \b rvec and \b tvec will be used or not.
- *
- * This function estimates a Charuco board pose from some detected corners.
- * The function checks if the input corners are enough and valid to perform pose estimation.
- * If pose estimation is valid, returns true, else returns false.
- * @see `use cv::drawFrameAxes to get world coordinate system axis for object points`
- */
- + (BOOL)estimatePoseCharucoBoard:(Mat*)charucoCorners charucoIds:(Mat*)charucoIds board:(CharucoBoard*)board cameraMatrix:(Mat*)cameraMatrix distCoeffs:(Mat*)distCoeffs rvec:(Mat*)rvec tvec:(Mat*)tvec useExtrinsicGuess:(BOOL)useExtrinsicGuess NS_SWIFT_NAME(estimatePoseCharucoBoard(charucoCorners:charucoIds:board:cameraMatrix:distCoeffs:rvec:tvec:useExtrinsicGuess:));
- /**
- * Pose estimation for a ChArUco board given some of their corners
- * @param charucoCorners vector of detected charuco corners
- * @param charucoIds list of identifiers for each corner in charucoCorners
- * @param board layout of ChArUco board.
- * @param cameraMatrix input 3x3 floating-point camera matrix
- * `$$\newcommand{\vecthreethree}[9]{ \begin{bmatrix} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \end{bmatrix} } A = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}$$`
- * @param distCoeffs vector of distortion coefficients
- * `$$(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6],[s_1, s_2, s_3, s_4]])$$` of 4, 5, 8 or 12 elements
- * @param rvec Output vector (e.g. cv::Mat) corresponding to the rotation vector of the board
- * (see cv::Rodrigues).
- * @param tvec Output vector (e.g. cv::Mat) corresponding to the translation vector of the board.
- *
- * This function estimates a Charuco board pose from some detected corners.
- * The function checks if the input corners are enough and valid to perform pose estimation.
- * If pose estimation is valid, returns true, else returns false.
- * @see `use cv::drawFrameAxes to get world coordinate system axis for object points`
- */
- + (BOOL)estimatePoseCharucoBoard:(Mat*)charucoCorners charucoIds:(Mat*)charucoIds board:(CharucoBoard*)board cameraMatrix:(Mat*)cameraMatrix distCoeffs:(Mat*)distCoeffs rvec:(Mat*)rvec tvec:(Mat*)tvec NS_SWIFT_NAME(estimatePoseCharucoBoard(charucoCorners:charucoIds:board:cameraMatrix:distCoeffs:rvec:tvec:));
- //
- // void cv::aruco::estimatePoseSingleMarkers(vector_Mat corners, float markerLength, Mat cameraMatrix, Mat distCoeffs, Mat& rvecs, Mat& tvecs, Mat& objPoints = Mat(), _hidden_ estimateParameters = cv::makePtr<cv::aruco::EstimateParameters>())
- //
- /**
- * @deprecated Use cv::solvePnP
- */
- + (void)estimatePoseSingleMarkers:(NSArray<Mat*>*)corners markerLength:(float)markerLength cameraMatrix:(Mat*)cameraMatrix distCoeffs:(Mat*)distCoeffs rvecs:(Mat*)rvecs tvecs:(Mat*)tvecs objPoints:(Mat*)objPoints NS_SWIFT_NAME(estimatePoseSingleMarkers(corners:markerLength:cameraMatrix:distCoeffs:rvecs:tvecs:objPoints:)) DEPRECATED_ATTRIBUTE;
- /**
- * @deprecated Use cv::solvePnP
- */
- + (void)estimatePoseSingleMarkers:(NSArray<Mat*>*)corners markerLength:(float)markerLength cameraMatrix:(Mat*)cameraMatrix distCoeffs:(Mat*)distCoeffs rvecs:(Mat*)rvecs tvecs:(Mat*)tvecs NS_SWIFT_NAME(estimatePoseSingleMarkers(corners:markerLength:cameraMatrix:distCoeffs:rvecs:tvecs:)) DEPRECATED_ATTRIBUTE;
- //
- // bool cv::aruco::testCharucoCornersCollinear(Ptr_CharucoBoard board, Mat charucoIds)
- //
- /**
- * @deprecated Use CharucoBoard::checkCharucoCornersCollinear
- */
- + (BOOL)testCharucoCornersCollinear:(CharucoBoard*)board charucoIds:(Mat*)charucoIds NS_SWIFT_NAME(testCharucoCornersCollinear(board:charucoIds:)) DEPRECATED_ATTRIBUTE;
- //
- // double cv::aruco::calibrateCameraAruco(vector_Mat corners, Mat ids, Mat counter, Ptr_Board board, Size imageSize, Mat& cameraMatrix, Mat& distCoeffs, vector_Mat& rvecs, vector_Mat& tvecs, Mat& stdDeviationsIntrinsics, Mat& stdDeviationsExtrinsics, Mat& perViewErrors, int flags = 0, TermCriteria criteria = TermCriteria(TermCriteria::COUNT + TermCriteria::EPS, 30, DBL_EPSILON))
- //
- /**
- * Calibrate a camera using aruco markers
- *
- * @param corners vector of detected marker corners in all frames.
- * The corners should have the same format returned by detectMarkers (see #detectMarkers).
- * @param ids list of identifiers for each marker in corners
- * @param counter number of markers in each frame so that corners and ids can be split
- * @param board Marker Board layout
- * @param imageSize Size of the image used only to initialize the intrinsic camera matrix.
- * @param cameraMatrix Output 3x3 floating-point camera matrix
- * `$$\newcommand{\vecthreethree}[9]{ \begin{bmatrix} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \end{bmatrix} } A = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}$$` . If CV\_CALIB\_USE\_INTRINSIC\_GUESS
- * and/or CV_CALIB_FIX_ASPECT_RATIO are specified, some or all of fx, fy, cx, cy must be
- * initialized before calling the function.
- * @param distCoeffs Output vector of distortion coefficients
- * `$$(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6],[s_1, s_2, s_3, s_4]])$$` of 4, 5, 8 or 12 elements
- * @param rvecs Output vector of rotation vectors (see Rodrigues ) estimated for each board view
- * (e.g. std::vector<cv::Mat>>). That is, each k-th rotation vector together with the corresponding
- * k-th translation vector (see the next output parameter description) brings the board pattern
- * from the model coordinate space (in which object points are specified) to the world coordinate
- * space, that is, a real position of the board pattern in the k-th pattern view (k=0.. *M* -1).
- * @param tvecs Output vector of translation vectors estimated for each pattern view.
- * @param stdDeviationsIntrinsics Output vector of standard deviations estimated for intrinsic parameters.
- * Order of deviations values:
- * `$$(f_x, f_y, c_x, c_y, k_1, k_2, p_1, p_2, k_3, k_4, k_5, k_6 , s_1, s_2, s_3,
- * s_4, \tau_x, \tau_y)$$` If one of parameters is not estimated, it's deviation is equals to zero.
- * @param stdDeviationsExtrinsics Output vector of standard deviations estimated for extrinsic parameters.
- * Order of deviations values: `$$(R_1, T_1, \dotsc , R_M, T_M)$$` where M is number of pattern views,
- * `$$R_i, T_i$$` are concatenated 1x3 vectors.
- * @param perViewErrors Output vector of average re-projection errors estimated for each pattern view.
- * @param flags flags Different flags for the calibration process (see #calibrateCamera for details).
- * @param criteria Termination criteria for the iterative optimization algorithm.
- *
- * This function calibrates a camera using an Aruco Board. The function receives a list of
- * detected markers from several views of the Board. The process is similar to the chessboard
- * calibration in calibrateCamera(). The function returns the final re-projection error.
- */
- + (double)calibrateCameraArucoExtended:(NSArray<Mat*>*)corners ids:(Mat*)ids counter:(Mat*)counter board:(Board*)board imageSize:(Size2i*)imageSize cameraMatrix:(Mat*)cameraMatrix distCoeffs:(Mat*)distCoeffs rvecs:(NSMutableArray<Mat*>*)rvecs tvecs:(NSMutableArray<Mat*>*)tvecs stdDeviationsIntrinsics:(Mat*)stdDeviationsIntrinsics stdDeviationsExtrinsics:(Mat*)stdDeviationsExtrinsics perViewErrors:(Mat*)perViewErrors flags:(int)flags criteria:(TermCriteria*)criteria NS_SWIFT_NAME(calibrateCameraAruco(corners:ids:counter:board:imageSize:cameraMatrix:distCoeffs:rvecs:tvecs:stdDeviationsIntrinsics:stdDeviationsExtrinsics:perViewErrors:flags:criteria:));
- /**
- * Calibrate a camera using aruco markers
- *
- * @param corners vector of detected marker corners in all frames.
- * The corners should have the same format returned by detectMarkers (see #detectMarkers).
- * @param ids list of identifiers for each marker in corners
- * @param counter number of markers in each frame so that corners and ids can be split
- * @param board Marker Board layout
- * @param imageSize Size of the image used only to initialize the intrinsic camera matrix.
- * @param cameraMatrix Output 3x3 floating-point camera matrix
- * `$$\newcommand{\vecthreethree}[9]{ \begin{bmatrix} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \end{bmatrix} } A = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}$$` . If CV\_CALIB\_USE\_INTRINSIC\_GUESS
- * and/or CV_CALIB_FIX_ASPECT_RATIO are specified, some or all of fx, fy, cx, cy must be
- * initialized before calling the function.
- * @param distCoeffs Output vector of distortion coefficients
- * `$$(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6],[s_1, s_2, s_3, s_4]])$$` of 4, 5, 8 or 12 elements
- * @param rvecs Output vector of rotation vectors (see Rodrigues ) estimated for each board view
- * (e.g. std::vector<cv::Mat>>). That is, each k-th rotation vector together with the corresponding
- * k-th translation vector (see the next output parameter description) brings the board pattern
- * from the model coordinate space (in which object points are specified) to the world coordinate
- * space, that is, a real position of the board pattern in the k-th pattern view (k=0.. *M* -1).
- * @param tvecs Output vector of translation vectors estimated for each pattern view.
- * @param stdDeviationsIntrinsics Output vector of standard deviations estimated for intrinsic parameters.
- * Order of deviations values:
- * `$$(f_x, f_y, c_x, c_y, k_1, k_2, p_1, p_2, k_3, k_4, k_5, k_6 , s_1, s_2, s_3,
- * s_4, \tau_x, \tau_y)$$` If one of parameters is not estimated, it's deviation is equals to zero.
- * @param stdDeviationsExtrinsics Output vector of standard deviations estimated for extrinsic parameters.
- * Order of deviations values: `$$(R_1, T_1, \dotsc , R_M, T_M)$$` where M is number of pattern views,
- * `$$R_i, T_i$$` are concatenated 1x3 vectors.
- * @param perViewErrors Output vector of average re-projection errors estimated for each pattern view.
- * @param flags flags Different flags for the calibration process (see #calibrateCamera for details).
- *
- * This function calibrates a camera using an Aruco Board. The function receives a list of
- * detected markers from several views of the Board. The process is similar to the chessboard
- * calibration in calibrateCamera(). The function returns the final re-projection error.
- */
- + (double)calibrateCameraArucoExtended:(NSArray<Mat*>*)corners ids:(Mat*)ids counter:(Mat*)counter board:(Board*)board imageSize:(Size2i*)imageSize cameraMatrix:(Mat*)cameraMatrix distCoeffs:(Mat*)distCoeffs rvecs:(NSMutableArray<Mat*>*)rvecs tvecs:(NSMutableArray<Mat*>*)tvecs stdDeviationsIntrinsics:(Mat*)stdDeviationsIntrinsics stdDeviationsExtrinsics:(Mat*)stdDeviationsExtrinsics perViewErrors:(Mat*)perViewErrors flags:(int)flags NS_SWIFT_NAME(calibrateCameraAruco(corners:ids:counter:board:imageSize:cameraMatrix:distCoeffs:rvecs:tvecs:stdDeviationsIntrinsics:stdDeviationsExtrinsics:perViewErrors:flags:));
- /**
- * Calibrate a camera using aruco markers
- *
- * @param corners vector of detected marker corners in all frames.
- * The corners should have the same format returned by detectMarkers (see #detectMarkers).
- * @param ids list of identifiers for each marker in corners
- * @param counter number of markers in each frame so that corners and ids can be split
- * @param board Marker Board layout
- * @param imageSize Size of the image used only to initialize the intrinsic camera matrix.
- * @param cameraMatrix Output 3x3 floating-point camera matrix
- * `$$\newcommand{\vecthreethree}[9]{ \begin{bmatrix} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \end{bmatrix} } A = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}$$` . If CV\_CALIB\_USE\_INTRINSIC\_GUESS
- * and/or CV_CALIB_FIX_ASPECT_RATIO are specified, some or all of fx, fy, cx, cy must be
- * initialized before calling the function.
- * @param distCoeffs Output vector of distortion coefficients
- * `$$(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6],[s_1, s_2, s_3, s_4]])$$` of 4, 5, 8 or 12 elements
- * @param rvecs Output vector of rotation vectors (see Rodrigues ) estimated for each board view
- * (e.g. std::vector<cv::Mat>>). That is, each k-th rotation vector together with the corresponding
- * k-th translation vector (see the next output parameter description) brings the board pattern
- * from the model coordinate space (in which object points are specified) to the world coordinate
- * space, that is, a real position of the board pattern in the k-th pattern view (k=0.. *M* -1).
- * @param tvecs Output vector of translation vectors estimated for each pattern view.
- * @param stdDeviationsIntrinsics Output vector of standard deviations estimated for intrinsic parameters.
- * Order of deviations values:
- * `$$(f_x, f_y, c_x, c_y, k_1, k_2, p_1, p_2, k_3, k_4, k_5, k_6 , s_1, s_2, s_3,
- * s_4, \tau_x, \tau_y)$$` If one of parameters is not estimated, it's deviation is equals to zero.
- * @param stdDeviationsExtrinsics Output vector of standard deviations estimated for extrinsic parameters.
- * Order of deviations values: `$$(R_1, T_1, \dotsc , R_M, T_M)$$` where M is number of pattern views,
- * `$$R_i, T_i$$` are concatenated 1x3 vectors.
- * @param perViewErrors Output vector of average re-projection errors estimated for each pattern view.
- *
- * This function calibrates a camera using an Aruco Board. The function receives a list of
- * detected markers from several views of the Board. The process is similar to the chessboard
- * calibration in calibrateCamera(). The function returns the final re-projection error.
- */
- + (double)calibrateCameraArucoExtended:(NSArray<Mat*>*)corners ids:(Mat*)ids counter:(Mat*)counter board:(Board*)board imageSize:(Size2i*)imageSize cameraMatrix:(Mat*)cameraMatrix distCoeffs:(Mat*)distCoeffs rvecs:(NSMutableArray<Mat*>*)rvecs tvecs:(NSMutableArray<Mat*>*)tvecs stdDeviationsIntrinsics:(Mat*)stdDeviationsIntrinsics stdDeviationsExtrinsics:(Mat*)stdDeviationsExtrinsics perViewErrors:(Mat*)perViewErrors NS_SWIFT_NAME(calibrateCameraAruco(corners:ids:counter:board:imageSize:cameraMatrix:distCoeffs:rvecs:tvecs:stdDeviationsIntrinsics:stdDeviationsExtrinsics:perViewErrors:));
- //
- // double cv::aruco::calibrateCameraAruco(vector_Mat corners, Mat ids, Mat counter, Ptr_Board board, Size imageSize, Mat& cameraMatrix, Mat& distCoeffs, vector_Mat& rvecs = vector_Mat(), vector_Mat& tvecs = vector_Mat(), int flags = 0, TermCriteria criteria = TermCriteria(TermCriteria::COUNT + TermCriteria::EPS, 30, DBL_EPSILON))
- //
- /**
- *
- * It's the same function as #calibrateCameraAruco but without calibration error estimation.
- */
- + (double)calibrateCameraAruco:(NSArray<Mat*>*)corners ids:(Mat*)ids counter:(Mat*)counter board:(Board*)board imageSize:(Size2i*)imageSize cameraMatrix:(Mat*)cameraMatrix distCoeffs:(Mat*)distCoeffs rvecs:(NSMutableArray<Mat*>*)rvecs tvecs:(NSMutableArray<Mat*>*)tvecs flags:(int)flags criteria:(TermCriteria*)criteria NS_SWIFT_NAME(calibrateCameraAruco(corners:ids:counter:board:imageSize:cameraMatrix:distCoeffs:rvecs:tvecs:flags:criteria:));
- /**
- *
- * It's the same function as #calibrateCameraAruco but without calibration error estimation.
- */
- + (double)calibrateCameraAruco:(NSArray<Mat*>*)corners ids:(Mat*)ids counter:(Mat*)counter board:(Board*)board imageSize:(Size2i*)imageSize cameraMatrix:(Mat*)cameraMatrix distCoeffs:(Mat*)distCoeffs rvecs:(NSMutableArray<Mat*>*)rvecs tvecs:(NSMutableArray<Mat*>*)tvecs flags:(int)flags NS_SWIFT_NAME(calibrateCameraAruco(corners:ids:counter:board:imageSize:cameraMatrix:distCoeffs:rvecs:tvecs:flags:));
- /**
- *
- * It's the same function as #calibrateCameraAruco but without calibration error estimation.
- */
- + (double)calibrateCameraAruco:(NSArray<Mat*>*)corners ids:(Mat*)ids counter:(Mat*)counter board:(Board*)board imageSize:(Size2i*)imageSize cameraMatrix:(Mat*)cameraMatrix distCoeffs:(Mat*)distCoeffs rvecs:(NSMutableArray<Mat*>*)rvecs tvecs:(NSMutableArray<Mat*>*)tvecs NS_SWIFT_NAME(calibrateCameraAruco(corners:ids:counter:board:imageSize:cameraMatrix:distCoeffs:rvecs:tvecs:));
- /**
- *
- * It's the same function as #calibrateCameraAruco but without calibration error estimation.
- */
- + (double)calibrateCameraAruco:(NSArray<Mat*>*)corners ids:(Mat*)ids counter:(Mat*)counter board:(Board*)board imageSize:(Size2i*)imageSize cameraMatrix:(Mat*)cameraMatrix distCoeffs:(Mat*)distCoeffs rvecs:(NSMutableArray<Mat*>*)rvecs NS_SWIFT_NAME(calibrateCameraAruco(corners:ids:counter:board:imageSize:cameraMatrix:distCoeffs:rvecs:));
- /**
- *
- * It's the same function as #calibrateCameraAruco but without calibration error estimation.
- */
- + (double)calibrateCameraAruco:(NSArray<Mat*>*)corners ids:(Mat*)ids counter:(Mat*)counter board:(Board*)board imageSize:(Size2i*)imageSize cameraMatrix:(Mat*)cameraMatrix distCoeffs:(Mat*)distCoeffs NS_SWIFT_NAME(calibrateCameraAruco(corners:ids:counter:board:imageSize:cameraMatrix:distCoeffs:));
- //
- // double cv::aruco::calibrateCameraCharuco(vector_Mat charucoCorners, vector_Mat charucoIds, Ptr_CharucoBoard board, Size imageSize, Mat& cameraMatrix, Mat& distCoeffs, vector_Mat& rvecs, vector_Mat& tvecs, Mat& stdDeviationsIntrinsics, Mat& stdDeviationsExtrinsics, Mat& perViewErrors, int flags = 0, TermCriteria criteria = TermCriteria( TermCriteria::COUNT + TermCriteria::EPS, 30, DBL_EPSILON))
- //
- /**
- * Calibrate a camera using Charuco corners
- *
- * @param charucoCorners vector of detected charuco corners per frame
- * @param charucoIds list of identifiers for each corner in charucoCorners per frame
- * @param board Marker Board layout
- * @param imageSize input image size
- * @param cameraMatrix Output 3x3 floating-point camera matrix
- * `$$\newcommand{\vecthreethree}[9]{ \begin{bmatrix} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \end{bmatrix} } A = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}$$` . If CV\_CALIB\_USE\_INTRINSIC\_GUESS
- * and/or CV_CALIB_FIX_ASPECT_RATIO are specified, some or all of fx, fy, cx, cy must be
- * initialized before calling the function.
- * @param distCoeffs Output vector of distortion coefficients
- * `$$(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6],[s_1, s_2, s_3, s_4]])$$` of 4, 5, 8 or 12 elements
- * @param rvecs Output vector of rotation vectors (see Rodrigues ) estimated for each board view
- * (e.g. std::vector<cv::Mat>>). That is, each k-th rotation vector together with the corresponding
- * k-th translation vector (see the next output parameter description) brings the board pattern
- * from the model coordinate space (in which object points are specified) to the world coordinate
- * space, that is, a real position of the board pattern in the k-th pattern view (k=0.. *M* -1).
- * @param tvecs Output vector of translation vectors estimated for each pattern view.
- * @param stdDeviationsIntrinsics Output vector of standard deviations estimated for intrinsic parameters.
- * Order of deviations values:
- * `$$(f_x, f_y, c_x, c_y, k_1, k_2, p_1, p_2, k_3, k_4, k_5, k_6 , s_1, s_2, s_3,
- * s_4, \tau_x, \tau_y)$$` If one of parameters is not estimated, it's deviation is equals to zero.
- * @param stdDeviationsExtrinsics Output vector of standard deviations estimated for extrinsic parameters.
- * Order of deviations values: `$$(R_1, T_1, \dotsc , R_M, T_M)$$` where M is number of pattern views,
- * `$$R_i, T_i$$` are concatenated 1x3 vectors.
- * @param perViewErrors Output vector of average re-projection errors estimated for each pattern view.
- * @param flags flags Different flags for the calibration process (see #calibrateCamera for details).
- * @param criteria Termination criteria for the iterative optimization algorithm.
- *
- * This function calibrates a camera using a set of corners of a Charuco Board. The function
- * receives a list of detected corners and its identifiers from several views of the Board.
- * The function returns the final re-projection error.
- */
- + (double)calibrateCameraCharucoExtended:(NSArray<Mat*>*)charucoCorners charucoIds:(NSArray<Mat*>*)charucoIds board:(CharucoBoard*)board imageSize:(Size2i*)imageSize cameraMatrix:(Mat*)cameraMatrix distCoeffs:(Mat*)distCoeffs rvecs:(NSMutableArray<Mat*>*)rvecs tvecs:(NSMutableArray<Mat*>*)tvecs stdDeviationsIntrinsics:(Mat*)stdDeviationsIntrinsics stdDeviationsExtrinsics:(Mat*)stdDeviationsExtrinsics perViewErrors:(Mat*)perViewErrors flags:(int)flags criteria:(TermCriteria*)criteria NS_SWIFT_NAME(calibrateCameraCharuco(charucoCorners:charucoIds:board:imageSize:cameraMatrix:distCoeffs:rvecs:tvecs:stdDeviationsIntrinsics:stdDeviationsExtrinsics:perViewErrors:flags:criteria:));
- /**
- * Calibrate a camera using Charuco corners
- *
- * @param charucoCorners vector of detected charuco corners per frame
- * @param charucoIds list of identifiers for each corner in charucoCorners per frame
- * @param board Marker Board layout
- * @param imageSize input image size
- * @param cameraMatrix Output 3x3 floating-point camera matrix
- * `$$\newcommand{\vecthreethree}[9]{ \begin{bmatrix} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \end{bmatrix} } A = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}$$` . If CV\_CALIB\_USE\_INTRINSIC\_GUESS
- * and/or CV_CALIB_FIX_ASPECT_RATIO are specified, some or all of fx, fy, cx, cy must be
- * initialized before calling the function.
- * @param distCoeffs Output vector of distortion coefficients
- * `$$(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6],[s_1, s_2, s_3, s_4]])$$` of 4, 5, 8 or 12 elements
- * @param rvecs Output vector of rotation vectors (see Rodrigues ) estimated for each board view
- * (e.g. std::vector<cv::Mat>>). That is, each k-th rotation vector together with the corresponding
- * k-th translation vector (see the next output parameter description) brings the board pattern
- * from the model coordinate space (in which object points are specified) to the world coordinate
- * space, that is, a real position of the board pattern in the k-th pattern view (k=0.. *M* -1).
- * @param tvecs Output vector of translation vectors estimated for each pattern view.
- * @param stdDeviationsIntrinsics Output vector of standard deviations estimated for intrinsic parameters.
- * Order of deviations values:
- * `$$(f_x, f_y, c_x, c_y, k_1, k_2, p_1, p_2, k_3, k_4, k_5, k_6 , s_1, s_2, s_3,
- * s_4, \tau_x, \tau_y)$$` If one of parameters is not estimated, it's deviation is equals to zero.
- * @param stdDeviationsExtrinsics Output vector of standard deviations estimated for extrinsic parameters.
- * Order of deviations values: `$$(R_1, T_1, \dotsc , R_M, T_M)$$` where M is number of pattern views,
- * `$$R_i, T_i$$` are concatenated 1x3 vectors.
- * @param perViewErrors Output vector of average re-projection errors estimated for each pattern view.
- * @param flags flags Different flags for the calibration process (see #calibrateCamera for details).
- *
- * This function calibrates a camera using a set of corners of a Charuco Board. The function
- * receives a list of detected corners and its identifiers from several views of the Board.
- * The function returns the final re-projection error.
- */
- + (double)calibrateCameraCharucoExtended:(NSArray<Mat*>*)charucoCorners charucoIds:(NSArray<Mat*>*)charucoIds board:(CharucoBoard*)board imageSize:(Size2i*)imageSize cameraMatrix:(Mat*)cameraMatrix distCoeffs:(Mat*)distCoeffs rvecs:(NSMutableArray<Mat*>*)rvecs tvecs:(NSMutableArray<Mat*>*)tvecs stdDeviationsIntrinsics:(Mat*)stdDeviationsIntrinsics stdDeviationsExtrinsics:(Mat*)stdDeviationsExtrinsics perViewErrors:(Mat*)perViewErrors flags:(int)flags NS_SWIFT_NAME(calibrateCameraCharuco(charucoCorners:charucoIds:board:imageSize:cameraMatrix:distCoeffs:rvecs:tvecs:stdDeviationsIntrinsics:stdDeviationsExtrinsics:perViewErrors:flags:));
- /**
- * Calibrate a camera using Charuco corners
- *
- * @param charucoCorners vector of detected charuco corners per frame
- * @param charucoIds list of identifiers for each corner in charucoCorners per frame
- * @param board Marker Board layout
- * @param imageSize input image size
- * @param cameraMatrix Output 3x3 floating-point camera matrix
- * `$$\newcommand{\vecthreethree}[9]{ \begin{bmatrix} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \end{bmatrix} } A = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}$$` . If CV\_CALIB\_USE\_INTRINSIC\_GUESS
- * and/or CV_CALIB_FIX_ASPECT_RATIO are specified, some or all of fx, fy, cx, cy must be
- * initialized before calling the function.
- * @param distCoeffs Output vector of distortion coefficients
- * `$$(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6],[s_1, s_2, s_3, s_4]])$$` of 4, 5, 8 or 12 elements
- * @param rvecs Output vector of rotation vectors (see Rodrigues ) estimated for each board view
- * (e.g. std::vector<cv::Mat>>). That is, each k-th rotation vector together with the corresponding
- * k-th translation vector (see the next output parameter description) brings the board pattern
- * from the model coordinate space (in which object points are specified) to the world coordinate
- * space, that is, a real position of the board pattern in the k-th pattern view (k=0.. *M* -1).
- * @param tvecs Output vector of translation vectors estimated for each pattern view.
- * @param stdDeviationsIntrinsics Output vector of standard deviations estimated for intrinsic parameters.
- * Order of deviations values:
- * `$$(f_x, f_y, c_x, c_y, k_1, k_2, p_1, p_2, k_3, k_4, k_5, k_6 , s_1, s_2, s_3,
- * s_4, \tau_x, \tau_y)$$` If one of parameters is not estimated, it's deviation is equals to zero.
- * @param stdDeviationsExtrinsics Output vector of standard deviations estimated for extrinsic parameters.
- * Order of deviations values: `$$(R_1, T_1, \dotsc , R_M, T_M)$$` where M is number of pattern views,
- * `$$R_i, T_i$$` are concatenated 1x3 vectors.
- * @param perViewErrors Output vector of average re-projection errors estimated for each pattern view.
- *
- * This function calibrates a camera using a set of corners of a Charuco Board. The function
- * receives a list of detected corners and its identifiers from several views of the Board.
- * The function returns the final re-projection error.
- */
- + (double)calibrateCameraCharucoExtended:(NSArray<Mat*>*)charucoCorners charucoIds:(NSArray<Mat*>*)charucoIds board:(CharucoBoard*)board imageSize:(Size2i*)imageSize cameraMatrix:(Mat*)cameraMatrix distCoeffs:(Mat*)distCoeffs rvecs:(NSMutableArray<Mat*>*)rvecs tvecs:(NSMutableArray<Mat*>*)tvecs stdDeviationsIntrinsics:(Mat*)stdDeviationsIntrinsics stdDeviationsExtrinsics:(Mat*)stdDeviationsExtrinsics perViewErrors:(Mat*)perViewErrors NS_SWIFT_NAME(calibrateCameraCharuco(charucoCorners:charucoIds:board:imageSize:cameraMatrix:distCoeffs:rvecs:tvecs:stdDeviationsIntrinsics:stdDeviationsExtrinsics:perViewErrors:));
- //
- // double cv::aruco::calibrateCameraCharuco(vector_Mat charucoCorners, vector_Mat charucoIds, Ptr_CharucoBoard board, Size imageSize, Mat& cameraMatrix, Mat& distCoeffs, vector_Mat& rvecs = vector_Mat(), vector_Mat& tvecs = vector_Mat(), int flags = 0, TermCriteria criteria = TermCriteria(TermCriteria::COUNT + TermCriteria::EPS, 30, DBL_EPSILON))
- //
- /**
- * It's the same function as #calibrateCameraCharuco but without calibration error estimation.
- */
- + (double)calibrateCameraCharuco:(NSArray<Mat*>*)charucoCorners charucoIds:(NSArray<Mat*>*)charucoIds board:(CharucoBoard*)board imageSize:(Size2i*)imageSize cameraMatrix:(Mat*)cameraMatrix distCoeffs:(Mat*)distCoeffs rvecs:(NSMutableArray<Mat*>*)rvecs tvecs:(NSMutableArray<Mat*>*)tvecs flags:(int)flags criteria:(TermCriteria*)criteria NS_SWIFT_NAME(calibrateCameraCharuco(charucoCorners:charucoIds:board:imageSize:cameraMatrix:distCoeffs:rvecs:tvecs:flags:criteria:));
- /**
- * It's the same function as #calibrateCameraCharuco but without calibration error estimation.
- */
- + (double)calibrateCameraCharuco:(NSArray<Mat*>*)charucoCorners charucoIds:(NSArray<Mat*>*)charucoIds board:(CharucoBoard*)board imageSize:(Size2i*)imageSize cameraMatrix:(Mat*)cameraMatrix distCoeffs:(Mat*)distCoeffs rvecs:(NSMutableArray<Mat*>*)rvecs tvecs:(NSMutableArray<Mat*>*)tvecs flags:(int)flags NS_SWIFT_NAME(calibrateCameraCharuco(charucoCorners:charucoIds:board:imageSize:cameraMatrix:distCoeffs:rvecs:tvecs:flags:));
- /**
- * It's the same function as #calibrateCameraCharuco but without calibration error estimation.
- */
- + (double)calibrateCameraCharuco:(NSArray<Mat*>*)charucoCorners charucoIds:(NSArray<Mat*>*)charucoIds board:(CharucoBoard*)board imageSize:(Size2i*)imageSize cameraMatrix:(Mat*)cameraMatrix distCoeffs:(Mat*)distCoeffs rvecs:(NSMutableArray<Mat*>*)rvecs tvecs:(NSMutableArray<Mat*>*)tvecs NS_SWIFT_NAME(calibrateCameraCharuco(charucoCorners:charucoIds:board:imageSize:cameraMatrix:distCoeffs:rvecs:tvecs:));
- /**
- * It's the same function as #calibrateCameraCharuco but without calibration error estimation.
- */
- + (double)calibrateCameraCharuco:(NSArray<Mat*>*)charucoCorners charucoIds:(NSArray<Mat*>*)charucoIds board:(CharucoBoard*)board imageSize:(Size2i*)imageSize cameraMatrix:(Mat*)cameraMatrix distCoeffs:(Mat*)distCoeffs rvecs:(NSMutableArray<Mat*>*)rvecs NS_SWIFT_NAME(calibrateCameraCharuco(charucoCorners:charucoIds:board:imageSize:cameraMatrix:distCoeffs:rvecs:));
- /**
- * It's the same function as #calibrateCameraCharuco but without calibration error estimation.
- */
- + (double)calibrateCameraCharuco:(NSArray<Mat*>*)charucoCorners charucoIds:(NSArray<Mat*>*)charucoIds board:(CharucoBoard*)board imageSize:(Size2i*)imageSize cameraMatrix:(Mat*)cameraMatrix distCoeffs:(Mat*)distCoeffs NS_SWIFT_NAME(calibrateCameraCharuco(charucoCorners:charucoIds:board:imageSize:cameraMatrix:distCoeffs:));
- //
- // int cv::aruco::interpolateCornersCharuco(vector_Mat markerCorners, Mat markerIds, Mat image, Ptr_CharucoBoard board, Mat& charucoCorners, Mat& charucoIds, Mat cameraMatrix = Mat(), Mat distCoeffs = Mat(), int minMarkers = 2)
- //
- /**
- * Interpolate position of ChArUco board corners
- * @param markerCorners vector of already detected markers corners. For each marker, its four
- * corners are provided, (e.g std::vector<std::vector<cv::Point2f> > ). For N detected markers, the
- * dimensions of this array should be Nx4. The order of the corners should be clockwise.
- * @param markerIds list of identifiers for each marker in corners
- * @param image input image necesary for corner refinement. Note that markers are not detected and
- * should be sent in corners and ids parameters.
- * @param board layout of ChArUco board.
- * @param charucoCorners interpolated chessboard corners
- * @param charucoIds interpolated chessboard corners identifiers
- * @param cameraMatrix optional 3x3 floating-point camera matrix
- * `$$\newcommand{\vecthreethree}[9]{ \begin{bmatrix} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \end{bmatrix} } A = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}$$`
- * @param distCoeffs optional vector of distortion coefficients
- * `$$(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6],[s_1, s_2, s_3, s_4]])$$` of 4, 5, 8 or 12 elements
- * @param minMarkers number of adjacent markers that must be detected to return a charuco corner
- *
- * This function receives the detected markers and returns the 2D position of the chessboard corners
- * from a ChArUco board using the detected Aruco markers. If camera parameters are provided,
- * the process is based in an approximated pose estimation, else it is based on local homography.
- * Only visible corners are returned. For each corner, its corresponding identifier is
- * also returned in charucoIds.
- * The function returns the number of interpolated corners.
- *
- * @deprecated Use CharucoDetector::detectBoard
- */
- + (int)interpolateCornersCharuco:(NSArray<Mat*>*)markerCorners markerIds:(Mat*)markerIds image:(Mat*)image board:(CharucoBoard*)board charucoCorners:(Mat*)charucoCorners charucoIds:(Mat*)charucoIds cameraMatrix:(Mat*)cameraMatrix distCoeffs:(Mat*)distCoeffs minMarkers:(int)minMarkers NS_SWIFT_NAME(interpolateCornersCharuco(markerCorners:markerIds:image:board:charucoCorners:charucoIds:cameraMatrix:distCoeffs:minMarkers:)) DEPRECATED_ATTRIBUTE;
- /**
- * Interpolate position of ChArUco board corners
- * @param markerCorners vector of already detected markers corners. For each marker, its four
- * corners are provided, (e.g std::vector<std::vector<cv::Point2f> > ). For N detected markers, the
- * dimensions of this array should be Nx4. The order of the corners should be clockwise.
- * @param markerIds list of identifiers for each marker in corners
- * @param image input image necesary for corner refinement. Note that markers are not detected and
- * should be sent in corners and ids parameters.
- * @param board layout of ChArUco board.
- * @param charucoCorners interpolated chessboard corners
- * @param charucoIds interpolated chessboard corners identifiers
- * @param cameraMatrix optional 3x3 floating-point camera matrix
- * `$$\newcommand{\vecthreethree}[9]{ \begin{bmatrix} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \end{bmatrix} } A = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}$$`
- * @param distCoeffs optional vector of distortion coefficients
- * `$$(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6],[s_1, s_2, s_3, s_4]])$$` of 4, 5, 8 or 12 elements
- *
- * This function receives the detected markers and returns the 2D position of the chessboard corners
- * from a ChArUco board using the detected Aruco markers. If camera parameters are provided,
- * the process is based in an approximated pose estimation, else it is based on local homography.
- * Only visible corners are returned. For each corner, its corresponding identifier is
- * also returned in charucoIds.
- * The function returns the number of interpolated corners.
- *
- * @deprecated Use CharucoDetector::detectBoard
- */
- + (int)interpolateCornersCharuco:(NSArray<Mat*>*)markerCorners markerIds:(Mat*)markerIds image:(Mat*)image board:(CharucoBoard*)board charucoCorners:(Mat*)charucoCorners charucoIds:(Mat*)charucoIds cameraMatrix:(Mat*)cameraMatrix distCoeffs:(Mat*)distCoeffs NS_SWIFT_NAME(interpolateCornersCharuco(markerCorners:markerIds:image:board:charucoCorners:charucoIds:cameraMatrix:distCoeffs:)) DEPRECATED_ATTRIBUTE;
- /**
- * Interpolate position of ChArUco board corners
- * @param markerCorners vector of already detected markers corners. For each marker, its four
- * corners are provided, (e.g std::vector<std::vector<cv::Point2f> > ). For N detected markers, the
- * dimensions of this array should be Nx4. The order of the corners should be clockwise.
- * @param markerIds list of identifiers for each marker in corners
- * @param image input image necesary for corner refinement. Note that markers are not detected and
- * should be sent in corners and ids parameters.
- * @param board layout of ChArUco board.
- * @param charucoCorners interpolated chessboard corners
- * @param charucoIds interpolated chessboard corners identifiers
- * @param cameraMatrix optional 3x3 floating-point camera matrix
- * `$$\newcommand{\vecthreethree}[9]{ \begin{bmatrix} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \end{bmatrix} } A = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}$$`
- * `$$(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6],[s_1, s_2, s_3, s_4]])$$` of 4, 5, 8 or 12 elements
- *
- * This function receives the detected markers and returns the 2D position of the chessboard corners
- * from a ChArUco board using the detected Aruco markers. If camera parameters are provided,
- * the process is based in an approximated pose estimation, else it is based on local homography.
- * Only visible corners are returned. For each corner, its corresponding identifier is
- * also returned in charucoIds.
- * The function returns the number of interpolated corners.
- *
- * @deprecated Use CharucoDetector::detectBoard
- */
- + (int)interpolateCornersCharuco:(NSArray<Mat*>*)markerCorners markerIds:(Mat*)markerIds image:(Mat*)image board:(CharucoBoard*)board charucoCorners:(Mat*)charucoCorners charucoIds:(Mat*)charucoIds cameraMatrix:(Mat*)cameraMatrix NS_SWIFT_NAME(interpolateCornersCharuco(markerCorners:markerIds:image:board:charucoCorners:charucoIds:cameraMatrix:)) DEPRECATED_ATTRIBUTE;
- /**
- * Interpolate position of ChArUco board corners
- * @param markerCorners vector of already detected markers corners. For each marker, its four
- * corners are provided, (e.g std::vector<std::vector<cv::Point2f> > ). For N detected markers, the
- * dimensions of this array should be Nx4. The order of the corners should be clockwise.
- * @param markerIds list of identifiers for each marker in corners
- * @param image input image necesary for corner refinement. Note that markers are not detected and
- * should be sent in corners and ids parameters.
- * @param board layout of ChArUco board.
- * @param charucoCorners interpolated chessboard corners
- * @param charucoIds interpolated chessboard corners identifiers
- * `$$\newcommand{\vecthreethree}[9]{ \begin{bmatrix} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \end{bmatrix} } A = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}$$`
- * `$$(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6],[s_1, s_2, s_3, s_4]])$$` of 4, 5, 8 or 12 elements
- *
- * This function receives the detected markers and returns the 2D position of the chessboard corners
- * from a ChArUco board using the detected Aruco markers. If camera parameters are provided,
- * the process is based in an approximated pose estimation, else it is based on local homography.
- * Only visible corners are returned. For each corner, its corresponding identifier is
- * also returned in charucoIds.
- * The function returns the number of interpolated corners.
- *
- * @deprecated Use CharucoDetector::detectBoard
- */
- + (int)interpolateCornersCharuco:(NSArray<Mat*>*)markerCorners markerIds:(Mat*)markerIds image:(Mat*)image board:(CharucoBoard*)board charucoCorners:(Mat*)charucoCorners charucoIds:(Mat*)charucoIds NS_SWIFT_NAME(interpolateCornersCharuco(markerCorners:markerIds:image:board:charucoCorners:charucoIds:)) DEPRECATED_ATTRIBUTE;
- //
- // void cv::aruco::detectCharucoDiamond(Mat image, vector_Mat markerCorners, Mat markerIds, float squareMarkerLengthRate, vector_Mat& diamondCorners, Mat& diamondIds, Mat cameraMatrix = Mat(), Mat distCoeffs = Mat(), Ptr_Dictionary dictionary = makePtr<Dictionary> (getPredefinedDictionary(PredefinedDictionaryType::DICT_4X4_50)))
- //
- /**
- * Detect ChArUco Diamond markers
- *
- * @param image input image necessary for corner subpixel.
- * @param markerCorners list of detected marker corners from detectMarkers function.
- * @param markerIds list of marker ids in markerCorners.
- * @param squareMarkerLengthRate rate between square and marker length:
- * squareMarkerLengthRate = squareLength/markerLength. The real units are not necessary.
- * @param diamondCorners output list of detected diamond corners (4 corners per diamond). The order
- * is the same than in marker corners: top left, top right, bottom right and bottom left. Similar
- * format than the corners returned by detectMarkers (e.g std::vector<std::vector<cv::Point2f> > ).
- * @param diamondIds ids of the diamonds in diamondCorners. The id of each diamond is in fact of
- * type Vec4i, so each diamond has 4 ids, which are the ids of the aruco markers composing the
- * diamond.
- * @param cameraMatrix Optional camera calibration matrix.
- * @param distCoeffs Optional camera distortion coefficients.
- * @param dictionary dictionary of markers indicating the type of markers.
- *
- * This function detects Diamond markers from the previous detected ArUco markers. The diamonds
- * are returned in the diamondCorners and diamondIds parameters. If camera calibration parameters
- * are provided, the diamond search is based on reprojection. If not, diamond search is based on
- * homography. Homography is faster than reprojection, but less accurate.
- *
- * @deprecated Use CharucoDetector::detectDiamonds
- */
- + (void)detectCharucoDiamond:(Mat*)image markerCorners:(NSArray<Mat*>*)markerCorners markerIds:(Mat*)markerIds squareMarkerLengthRate:(float)squareMarkerLengthRate diamondCorners:(NSMutableArray<Mat*>*)diamondCorners diamondIds:(Mat*)diamondIds cameraMatrix:(Mat*)cameraMatrix distCoeffs:(Mat*)distCoeffs dictionary:(Dictionary*)dictionary NS_SWIFT_NAME(detectCharucoDiamond(image:markerCorners:markerIds:squareMarkerLengthRate:diamondCorners:diamondIds:cameraMatrix:distCoeffs:dictionary:)) DEPRECATED_ATTRIBUTE;
- /**
- * Detect ChArUco Diamond markers
- *
- * @param image input image necessary for corner subpixel.
- * @param markerCorners list of detected marker corners from detectMarkers function.
- * @param markerIds list of marker ids in markerCorners.
- * @param squareMarkerLengthRate rate between square and marker length:
- * squareMarkerLengthRate = squareLength/markerLength. The real units are not necessary.
- * @param diamondCorners output list of detected diamond corners (4 corners per diamond). The order
- * is the same than in marker corners: top left, top right, bottom right and bottom left. Similar
- * format than the corners returned by detectMarkers (e.g std::vector<std::vector<cv::Point2f> > ).
- * @param diamondIds ids of the diamonds in diamondCorners. The id of each diamond is in fact of
- * type Vec4i, so each diamond has 4 ids, which are the ids of the aruco markers composing the
- * diamond.
- * @param cameraMatrix Optional camera calibration matrix.
- * @param distCoeffs Optional camera distortion coefficients.
- *
- * This function detects Diamond markers from the previous detected ArUco markers. The diamonds
- * are returned in the diamondCorners and diamondIds parameters. If camera calibration parameters
- * are provided, the diamond search is based on reprojection. If not, diamond search is based on
- * homography. Homography is faster than reprojection, but less accurate.
- *
- * @deprecated Use CharucoDetector::detectDiamonds
- */
- + (void)detectCharucoDiamond:(Mat*)image markerCorners:(NSArray<Mat*>*)markerCorners markerIds:(Mat*)markerIds squareMarkerLengthRate:(float)squareMarkerLengthRate diamondCorners:(NSMutableArray<Mat*>*)diamondCorners diamondIds:(Mat*)diamondIds cameraMatrix:(Mat*)cameraMatrix distCoeffs:(Mat*)distCoeffs NS_SWIFT_NAME(detectCharucoDiamond(image:markerCorners:markerIds:squareMarkerLengthRate:diamondCorners:diamondIds:cameraMatrix:distCoeffs:)) DEPRECATED_ATTRIBUTE;
- /**
- * Detect ChArUco Diamond markers
- *
- * @param image input image necessary for corner subpixel.
- * @param markerCorners list of detected marker corners from detectMarkers function.
- * @param markerIds list of marker ids in markerCorners.
- * @param squareMarkerLengthRate rate between square and marker length:
- * squareMarkerLengthRate = squareLength/markerLength. The real units are not necessary.
- * @param diamondCorners output list of detected diamond corners (4 corners per diamond). The order
- * is the same than in marker corners: top left, top right, bottom right and bottom left. Similar
- * format than the corners returned by detectMarkers (e.g std::vector<std::vector<cv::Point2f> > ).
- * @param diamondIds ids of the diamonds in diamondCorners. The id of each diamond is in fact of
- * type Vec4i, so each diamond has 4 ids, which are the ids of the aruco markers composing the
- * diamond.
- * @param cameraMatrix Optional camera calibration matrix.
- *
- * This function detects Diamond markers from the previous detected ArUco markers. The diamonds
- * are returned in the diamondCorners and diamondIds parameters. If camera calibration parameters
- * are provided, the diamond search is based on reprojection. If not, diamond search is based on
- * homography. Homography is faster than reprojection, but less accurate.
- *
- * @deprecated Use CharucoDetector::detectDiamonds
- */
- + (void)detectCharucoDiamond:(Mat*)image markerCorners:(NSArray<Mat*>*)markerCorners markerIds:(Mat*)markerIds squareMarkerLengthRate:(float)squareMarkerLengthRate diamondCorners:(NSMutableArray<Mat*>*)diamondCorners diamondIds:(Mat*)diamondIds cameraMatrix:(Mat*)cameraMatrix NS_SWIFT_NAME(detectCharucoDiamond(image:markerCorners:markerIds:squareMarkerLengthRate:diamondCorners:diamondIds:cameraMatrix:)) DEPRECATED_ATTRIBUTE;
- /**
- * Detect ChArUco Diamond markers
- *
- * @param image input image necessary for corner subpixel.
- * @param markerCorners list of detected marker corners from detectMarkers function.
- * @param markerIds list of marker ids in markerCorners.
- * @param squareMarkerLengthRate rate between square and marker length:
- * squareMarkerLengthRate = squareLength/markerLength. The real units are not necessary.
- * @param diamondCorners output list of detected diamond corners (4 corners per diamond). The order
- * is the same than in marker corners: top left, top right, bottom right and bottom left. Similar
- * format than the corners returned by detectMarkers (e.g std::vector<std::vector<cv::Point2f> > ).
- * @param diamondIds ids of the diamonds in diamondCorners. The id of each diamond is in fact of
- * type Vec4i, so each diamond has 4 ids, which are the ids of the aruco markers composing the
- * diamond.
- *
- * This function detects Diamond markers from the previous detected ArUco markers. The diamonds
- * are returned in the diamondCorners and diamondIds parameters. If camera calibration parameters
- * are provided, the diamond search is based on reprojection. If not, diamond search is based on
- * homography. Homography is faster than reprojection, but less accurate.
- *
- * @deprecated Use CharucoDetector::detectDiamonds
- */
- + (void)detectCharucoDiamond:(Mat*)image markerCorners:(NSArray<Mat*>*)markerCorners markerIds:(Mat*)markerIds squareMarkerLengthRate:(float)squareMarkerLengthRate diamondCorners:(NSMutableArray<Mat*>*)diamondCorners diamondIds:(Mat*)diamondIds NS_SWIFT_NAME(detectCharucoDiamond(image:markerCorners:markerIds:squareMarkerLengthRate:diamondCorners:diamondIds:)) DEPRECATED_ATTRIBUTE;
- //
- // void cv::aruco::drawCharucoDiamond(Ptr_Dictionary dictionary, Vec4i ids, int squareLength, int markerLength, Mat& img, int marginSize = 0, int borderBits = 1)
- //
- /**
- * Draw a ChArUco Diamond marker
- *
- * @param dictionary dictionary of markers indicating the type of markers.
- * @param ids list of 4 ids for each ArUco marker in the ChArUco marker.
- * @param squareLength size of the chessboard squares in pixels.
- * @param markerLength size of the markers in pixels.
- * @param img output image with the marker. The size of this image will be
- * 3*squareLength + 2*marginSize,.
- * @param marginSize minimum margins (in pixels) of the marker in the output image
- * @param borderBits width of the marker borders.
- *
- * This function return the image of a ChArUco marker, ready to be printed.
- */
- + (void)drawCharucoDiamond:(Dictionary*)dictionary ids:(Int4*)ids squareLength:(int)squareLength markerLength:(int)markerLength img:(Mat*)img marginSize:(int)marginSize borderBits:(int)borderBits NS_SWIFT_NAME(drawCharucoDiamond(dictionary:ids:squareLength:markerLength:img:marginSize:borderBits:));
- /**
- * Draw a ChArUco Diamond marker
- *
- * @param dictionary dictionary of markers indicating the type of markers.
- * @param ids list of 4 ids for each ArUco marker in the ChArUco marker.
- * @param squareLength size of the chessboard squares in pixels.
- * @param markerLength size of the markers in pixels.
- * @param img output image with the marker. The size of this image will be
- * 3*squareLength + 2*marginSize,.
- * @param marginSize minimum margins (in pixels) of the marker in the output image
- *
- * This function return the image of a ChArUco marker, ready to be printed.
- */
- + (void)drawCharucoDiamond:(Dictionary*)dictionary ids:(Int4*)ids squareLength:(int)squareLength markerLength:(int)markerLength img:(Mat*)img marginSize:(int)marginSize NS_SWIFT_NAME(drawCharucoDiamond(dictionary:ids:squareLength:markerLength:img:marginSize:));
- /**
- * Draw a ChArUco Diamond marker
- *
- * @param dictionary dictionary of markers indicating the type of markers.
- * @param ids list of 4 ids for each ArUco marker in the ChArUco marker.
- * @param squareLength size of the chessboard squares in pixels.
- * @param markerLength size of the markers in pixels.
- * @param img output image with the marker. The size of this image will be
- * 3*squareLength + 2*marginSize,.
- *
- * This function return the image of a ChArUco marker, ready to be printed.
- */
- + (void)drawCharucoDiamond:(Dictionary*)dictionary ids:(Int4*)ids squareLength:(int)squareLength markerLength:(int)markerLength img:(Mat*)img NS_SWIFT_NAME(drawCharucoDiamond(dictionary:ids:squareLength:markerLength:img:));
- @end
- NS_ASSUME_NONNULL_END
|