Class Aruco

java.lang.Object
org.opencv.aruco.Aruco

public class Aruco
extends Object
  • Field Details

  • Constructor Details

  • Method Details

    • detectMarkers

      @Deprecated public static void detectMarkers​(Mat image, Dictionary dictionary, List<Mat> corners, Mat ids, DetectorParameters parameters, List<Mat> rejectedImgPoints)
      Deprecated.
      Use class ArucoDetector::detectMarkers
      detect markers
      Parameters:
      image - automatically generated
      dictionary - automatically generated
      corners - automatically generated
      ids - automatically generated
      parameters - automatically generated
      rejectedImgPoints - automatically generated
    • detectMarkers

      @Deprecated public static void detectMarkers​(Mat image, Dictionary dictionary, List<Mat> corners, Mat ids, DetectorParameters parameters)
      Deprecated.
      Use class ArucoDetector::detectMarkers
      detect markers
      Parameters:
      image - automatically generated
      dictionary - automatically generated
      corners - automatically generated
      ids - automatically generated
      parameters - automatically generated
    • detectMarkers

      @Deprecated public static void detectMarkers​(Mat image, Dictionary dictionary, List<Mat> corners, Mat ids)
      Deprecated.
      Use class ArucoDetector::detectMarkers
      detect markers
      Parameters:
      image - automatically generated
      dictionary - automatically generated
      corners - automatically generated
      ids - automatically generated
    • refineDetectedMarkers

      @Deprecated public static void refineDetectedMarkers​(Mat image, Board board, List<Mat> detectedCorners, Mat detectedIds, List<Mat> rejectedCorners, Mat cameraMatrix, Mat distCoeffs, float minRepDistance, float errorCorrectionRate, boolean checkAllOrders, Mat recoveredIdxs, DetectorParameters parameters)
      Deprecated.
      Use class ArucoDetector::refineDetectedMarkers
      refine detected markers
      Parameters:
      image - automatically generated
      board - automatically generated
      detectedCorners - automatically generated
      detectedIds - automatically generated
      rejectedCorners - automatically generated
      cameraMatrix - automatically generated
      distCoeffs - automatically generated
      minRepDistance - automatically generated
      errorCorrectionRate - automatically generated
      checkAllOrders - automatically generated
      recoveredIdxs - automatically generated
      parameters - automatically generated
    • refineDetectedMarkers

      @Deprecated public static void refineDetectedMarkers​(Mat image, Board board, List<Mat> detectedCorners, Mat detectedIds, List<Mat> rejectedCorners, Mat cameraMatrix, Mat distCoeffs, float minRepDistance, float errorCorrectionRate, boolean checkAllOrders, Mat recoveredIdxs)
      Deprecated.
      Use class ArucoDetector::refineDetectedMarkers
      refine detected markers
      Parameters:
      image - automatically generated
      board - automatically generated
      detectedCorners - automatically generated
      detectedIds - automatically generated
      rejectedCorners - automatically generated
      cameraMatrix - automatically generated
      distCoeffs - automatically generated
      minRepDistance - automatically generated
      errorCorrectionRate - automatically generated
      checkAllOrders - automatically generated
      recoveredIdxs - automatically generated
    • refineDetectedMarkers

      @Deprecated public static void refineDetectedMarkers​(Mat image, Board board, List<Mat> detectedCorners, Mat detectedIds, List<Mat> rejectedCorners, Mat cameraMatrix, Mat distCoeffs, float minRepDistance, float errorCorrectionRate, boolean checkAllOrders)
      Deprecated.
      Use class ArucoDetector::refineDetectedMarkers
      refine detected markers
      Parameters:
      image - automatically generated
      board - automatically generated
      detectedCorners - automatically generated
      detectedIds - automatically generated
      rejectedCorners - automatically generated
      cameraMatrix - automatically generated
      distCoeffs - automatically generated
      minRepDistance - automatically generated
      errorCorrectionRate - automatically generated
      checkAllOrders - automatically generated
    • refineDetectedMarkers

      @Deprecated public static void refineDetectedMarkers​(Mat image, Board board, List<Mat> detectedCorners, Mat detectedIds, List<Mat> rejectedCorners, Mat cameraMatrix, Mat distCoeffs, float minRepDistance, float errorCorrectionRate)
      Deprecated.
      Use class ArucoDetector::refineDetectedMarkers
      refine detected markers
      Parameters:
      image - automatically generated
      board - automatically generated
      detectedCorners - automatically generated
      detectedIds - automatically generated
      rejectedCorners - automatically generated
      cameraMatrix - automatically generated
      distCoeffs - automatically generated
      minRepDistance - automatically generated
      errorCorrectionRate - automatically generated
    • refineDetectedMarkers

      @Deprecated public static void refineDetectedMarkers​(Mat image, Board board, List<Mat> detectedCorners, Mat detectedIds, List<Mat> rejectedCorners, Mat cameraMatrix, Mat distCoeffs, float minRepDistance)
      Deprecated.
      Use class ArucoDetector::refineDetectedMarkers
      refine detected markers
      Parameters:
      image - automatically generated
      board - automatically generated
      detectedCorners - automatically generated
      detectedIds - automatically generated
      rejectedCorners - automatically generated
      cameraMatrix - automatically generated
      distCoeffs - automatically generated
      minRepDistance - automatically generated
    • refineDetectedMarkers

      @Deprecated public static void refineDetectedMarkers​(Mat image, Board board, List<Mat> detectedCorners, Mat detectedIds, List<Mat> rejectedCorners, Mat cameraMatrix, Mat distCoeffs)
      Deprecated.
      Use class ArucoDetector::refineDetectedMarkers
      refine detected markers
      Parameters:
      image - automatically generated
      board - automatically generated
      detectedCorners - automatically generated
      detectedIds - automatically generated
      rejectedCorners - automatically generated
      cameraMatrix - automatically generated
      distCoeffs - automatically generated
    • refineDetectedMarkers

      @Deprecated public static void refineDetectedMarkers​(Mat image, Board board, List<Mat> detectedCorners, Mat detectedIds, List<Mat> rejectedCorners, Mat cameraMatrix)
      Deprecated.
      Use class ArucoDetector::refineDetectedMarkers
      refine detected markers
      Parameters:
      image - automatically generated
      board - automatically generated
      detectedCorners - automatically generated
      detectedIds - automatically generated
      rejectedCorners - automatically generated
      cameraMatrix - automatically generated
    • refineDetectedMarkers

      @Deprecated public static void refineDetectedMarkers​(Mat image, Board board, List<Mat> detectedCorners, Mat detectedIds, List<Mat> rejectedCorners)
      Deprecated.
      Use class ArucoDetector::refineDetectedMarkers
      refine detected markers
      Parameters:
      image - automatically generated
      board - automatically generated
      detectedCorners - automatically generated
      detectedIds - automatically generated
      rejectedCorners - automatically generated
    • drawPlanarBoard

      @Deprecated public static void drawPlanarBoard​(Board board, Size outSize, Mat img, int marginSize, int borderBits)
      Deprecated.
      Use Board::generateImage
      draw planar board
      Parameters:
      board - automatically generated
      outSize - automatically generated
      img - automatically generated
      marginSize - automatically generated
      borderBits - automatically generated
    • getBoardObjectAndImagePoints

      @Deprecated public static void getBoardObjectAndImagePoints​(Board board, List<Mat> detectedCorners, Mat detectedIds, Mat objPoints, Mat imgPoints)
      Deprecated.
      Use Board::matchImagePoints
      get board object and image points
      Parameters:
      board - automatically generated
      detectedCorners - automatically generated
      detectedIds - automatically generated
      objPoints - automatically generated
      imgPoints - automatically generated
    • estimatePoseBoard

      @Deprecated public static int estimatePoseBoard​(List<Mat> corners, Mat ids, Board board, Mat cameraMatrix, Mat distCoeffs, Mat rvec, Mat tvec, boolean useExtrinsicGuess)
      Deprecated.
      Use cv::solvePnP
      Parameters:
      corners - automatically generated
      ids - automatically generated
      board - automatically generated
      cameraMatrix - automatically generated
      distCoeffs - automatically generated
      rvec - automatically generated
      tvec - automatically generated
      useExtrinsicGuess - automatically generated
      Returns:
      automatically generated
    • estimatePoseBoard

      @Deprecated public static int estimatePoseBoard​(List<Mat> corners, Mat ids, Board board, Mat cameraMatrix, Mat distCoeffs, Mat rvec, Mat tvec)
      Deprecated.
      Use cv::solvePnP
      Parameters:
      corners - automatically generated
      ids - automatically generated
      board - automatically generated
      cameraMatrix - automatically generated
      distCoeffs - automatically generated
      rvec - automatically generated
      tvec - automatically generated
      Returns:
      automatically generated
    • estimatePoseCharucoBoard

      public static boolean estimatePoseCharucoBoard​(Mat charucoCorners, Mat charucoIds, CharucoBoard board, Mat cameraMatrix, Mat distCoeffs, Mat rvec, Mat tvec, boolean useExtrinsicGuess)
      Pose estimation for a ChArUco board given some of their corners
      Parameters:
      charucoCorners - vector of detected charuco corners
      charucoIds - list of identifiers for each corner in charucoCorners
      board - layout of ChArUco board.
      cameraMatrix - input 3x3 floating-point camera matrix \(A = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\)
      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
      rvec - Output vector (e.g. cv::Mat) corresponding to the rotation vector of the board (see cv::Rodrigues).
      tvec - Output vector (e.g. cv::Mat) corresponding to the translation vector of the board.
      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
      Returns:
      automatically generated
    • estimatePoseCharucoBoard

      public static boolean estimatePoseCharucoBoard​(Mat charucoCorners, Mat charucoIds, CharucoBoard board, Mat cameraMatrix, Mat distCoeffs, Mat rvec, Mat tvec)
      Pose estimation for a ChArUco board given some of their corners
      Parameters:
      charucoCorners - vector of detected charuco corners
      charucoIds - list of identifiers for each corner in charucoCorners
      board - layout of ChArUco board.
      cameraMatrix - input 3x3 floating-point camera matrix \(A = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\)
      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
      rvec - Output vector (e.g. cv::Mat) corresponding to the rotation vector of the board (see cv::Rodrigues).
      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
      Returns:
      automatically generated
    • estimatePoseSingleMarkers

      @Deprecated public static void estimatePoseSingleMarkers​(List<Mat> corners, float markerLength, Mat cameraMatrix, Mat distCoeffs, Mat rvecs, Mat tvecs, Mat objPoints, EstimateParameters estimateParameters)
      Deprecated.
      Use cv::solvePnP
      Parameters:
      corners - automatically generated
      markerLength - automatically generated
      cameraMatrix - automatically generated
      distCoeffs - automatically generated
      rvecs - automatically generated
      tvecs - automatically generated
      objPoints - automatically generated
      estimateParameters - automatically generated
    • estimatePoseSingleMarkers

      @Deprecated public static void estimatePoseSingleMarkers​(List<Mat> corners, float markerLength, Mat cameraMatrix, Mat distCoeffs, Mat rvecs, Mat tvecs, Mat objPoints)
      Deprecated.
      Use cv::solvePnP
      Parameters:
      corners - automatically generated
      markerLength - automatically generated
      cameraMatrix - automatically generated
      distCoeffs - automatically generated
      rvecs - automatically generated
      tvecs - automatically generated
      objPoints - automatically generated
    • estimatePoseSingleMarkers

      @Deprecated public static void estimatePoseSingleMarkers​(List<Mat> corners, float markerLength, Mat cameraMatrix, Mat distCoeffs, Mat rvecs, Mat tvecs)
      Deprecated.
      Use cv::solvePnP
      Parameters:
      corners - automatically generated
      markerLength - automatically generated
      cameraMatrix - automatically generated
      distCoeffs - automatically generated
      rvecs - automatically generated
      tvecs - automatically generated
    • testCharucoCornersCollinear

      @Deprecated public static boolean testCharucoCornersCollinear​(CharucoBoard board, Mat charucoIds)
      Deprecated.
      Use CharucoBoard::checkCharucoCornersCollinear
      Parameters:
      board - automatically generated
      charucoIds - automatically generated
      Returns:
      automatically generated
    • calibrateCameraArucoExtended

      public static double calibrateCameraArucoExtended​(List<Mat> corners, Mat ids, Mat counter, Board board, Size imageSize, Mat cameraMatrix, Mat distCoeffs, List<Mat> rvecs, List<Mat> tvecs, Mat stdDeviationsIntrinsics, Mat stdDeviationsExtrinsics, Mat perViewErrors, int flags, TermCriteria criteria)
      Calibrate a camera using aruco markers
      Parameters:
      corners - vector of detected marker corners in all frames. The corners should have the same format returned by detectMarkers (see #detectMarkers).
      ids - list of identifiers for each marker in corners
      counter - number of markers in each frame so that corners and ids can be split
      board - Marker Board layout
      imageSize - Size of the image used only to initialize the intrinsic camera matrix.
      cameraMatrix - Output 3x3 floating-point camera matrix \(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.
      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
      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).
      tvecs - Output vector of translation vectors estimated for each pattern view.
      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.
      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.
      perViewErrors - Output vector of average re-projection errors estimated for each pattern view.
      flags - flags Different flags for the calibration process (see #calibrateCamera for details).
      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.
      Returns:
      automatically generated
    • calibrateCameraArucoExtended

      public static double calibrateCameraArucoExtended​(List<Mat> corners, Mat ids, Mat counter, Board board, Size imageSize, Mat cameraMatrix, Mat distCoeffs, List<Mat> rvecs, List<Mat> tvecs, Mat stdDeviationsIntrinsics, Mat stdDeviationsExtrinsics, Mat perViewErrors, int flags)
      Calibrate a camera using aruco markers
      Parameters:
      corners - vector of detected marker corners in all frames. The corners should have the same format returned by detectMarkers (see #detectMarkers).
      ids - list of identifiers for each marker in corners
      counter - number of markers in each frame so that corners and ids can be split
      board - Marker Board layout
      imageSize - Size of the image used only to initialize the intrinsic camera matrix.
      cameraMatrix - Output 3x3 floating-point camera matrix \(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.
      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
      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).
      tvecs - Output vector of translation vectors estimated for each pattern view.
      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.
      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.
      perViewErrors - Output vector of average re-projection errors estimated for each pattern view.
      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.
      Returns:
      automatically generated
    • calibrateCameraArucoExtended

      public static double calibrateCameraArucoExtended​(List<Mat> corners, Mat ids, Mat counter, Board board, Size imageSize, Mat cameraMatrix, Mat distCoeffs, List<Mat> rvecs, List<Mat> tvecs, Mat stdDeviationsIntrinsics, Mat stdDeviationsExtrinsics, Mat perViewErrors)
      Calibrate a camera using aruco markers
      Parameters:
      corners - vector of detected marker corners in all frames. The corners should have the same format returned by detectMarkers (see #detectMarkers).
      ids - list of identifiers for each marker in corners
      counter - number of markers in each frame so that corners and ids can be split
      board - Marker Board layout
      imageSize - Size of the image used only to initialize the intrinsic camera matrix.
      cameraMatrix - Output 3x3 floating-point camera matrix \(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.
      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
      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).
      tvecs - Output vector of translation vectors estimated for each pattern view.
      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.
      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.
      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.
      Returns:
      automatically generated
    • calibrateCameraAruco

      public static double calibrateCameraAruco​(List<Mat> corners, Mat ids, Mat counter, Board board, Size imageSize, Mat cameraMatrix, Mat distCoeffs, List<Mat> rvecs, List<Mat> tvecs, int flags, TermCriteria criteria)
      It's the same function as #calibrateCameraAruco but without calibration error estimation.
      Parameters:
      corners - automatically generated
      ids - automatically generated
      counter - automatically generated
      board - automatically generated
      imageSize - automatically generated
      cameraMatrix - automatically generated
      distCoeffs - automatically generated
      rvecs - automatically generated
      tvecs - automatically generated
      flags - automatically generated
      criteria - automatically generated
      Returns:
      automatically generated
    • calibrateCameraAruco

      public static double calibrateCameraAruco​(List<Mat> corners, Mat ids, Mat counter, Board board, Size imageSize, Mat cameraMatrix, Mat distCoeffs, List<Mat> rvecs, List<Mat> tvecs, int flags)
      It's the same function as #calibrateCameraAruco but without calibration error estimation.
      Parameters:
      corners - automatically generated
      ids - automatically generated
      counter - automatically generated
      board - automatically generated
      imageSize - automatically generated
      cameraMatrix - automatically generated
      distCoeffs - automatically generated
      rvecs - automatically generated
      tvecs - automatically generated
      flags - automatically generated
      Returns:
      automatically generated
    • calibrateCameraAruco

      public static double calibrateCameraAruco​(List<Mat> corners, Mat ids, Mat counter, Board board, Size imageSize, Mat cameraMatrix, Mat distCoeffs, List<Mat> rvecs, List<Mat> tvecs)
      It's the same function as #calibrateCameraAruco but without calibration error estimation.
      Parameters:
      corners - automatically generated
      ids - automatically generated
      counter - automatically generated
      board - automatically generated
      imageSize - automatically generated
      cameraMatrix - automatically generated
      distCoeffs - automatically generated
      rvecs - automatically generated
      tvecs - automatically generated
      Returns:
      automatically generated
    • calibrateCameraAruco

      public static double calibrateCameraAruco​(List<Mat> corners, Mat ids, Mat counter, Board board, Size imageSize, Mat cameraMatrix, Mat distCoeffs, List<Mat> rvecs)
      It's the same function as #calibrateCameraAruco but without calibration error estimation.
      Parameters:
      corners - automatically generated
      ids - automatically generated
      counter - automatically generated
      board - automatically generated
      imageSize - automatically generated
      cameraMatrix - automatically generated
      distCoeffs - automatically generated
      rvecs - automatically generated
      Returns:
      automatically generated
    • calibrateCameraAruco

      public static double calibrateCameraAruco​(List<Mat> corners, Mat ids, Mat counter, Board board, Size imageSize, Mat cameraMatrix, Mat distCoeffs)
      It's the same function as #calibrateCameraAruco but without calibration error estimation.
      Parameters:
      corners - automatically generated
      ids - automatically generated
      counter - automatically generated
      board - automatically generated
      imageSize - automatically generated
      cameraMatrix - automatically generated
      distCoeffs - automatically generated
      Returns:
      automatically generated
    • calibrateCameraCharucoExtended

      public static double calibrateCameraCharucoExtended​(List<Mat> charucoCorners, List<Mat> charucoIds, CharucoBoard board, Size imageSize, Mat cameraMatrix, Mat distCoeffs, List<Mat> rvecs, List<Mat> tvecs, Mat stdDeviationsIntrinsics, Mat stdDeviationsExtrinsics, Mat perViewErrors, int flags, TermCriteria criteria)
      Calibrate a camera using Charuco corners
      Parameters:
      charucoCorners - vector of detected charuco corners per frame
      charucoIds - list of identifiers for each corner in charucoCorners per frame
      board - Marker Board layout
      imageSize - input image size
      cameraMatrix - Output 3x3 floating-point camera matrix \(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.
      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
      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).
      tvecs - Output vector of translation vectors estimated for each pattern view.
      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.
      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.
      perViewErrors - Output vector of average re-projection errors estimated for each pattern view.
      flags - flags Different flags for the calibration process (see #calibrateCamera for details).
      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.
      Returns:
      automatically generated
    • calibrateCameraCharucoExtended

      public static double calibrateCameraCharucoExtended​(List<Mat> charucoCorners, List<Mat> charucoIds, CharucoBoard board, Size imageSize, Mat cameraMatrix, Mat distCoeffs, List<Mat> rvecs, List<Mat> tvecs, Mat stdDeviationsIntrinsics, Mat stdDeviationsExtrinsics, Mat perViewErrors, int flags)
      Calibrate a camera using Charuco corners
      Parameters:
      charucoCorners - vector of detected charuco corners per frame
      charucoIds - list of identifiers for each corner in charucoCorners per frame
      board - Marker Board layout
      imageSize - input image size
      cameraMatrix - Output 3x3 floating-point camera matrix \(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.
      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
      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).
      tvecs - Output vector of translation vectors estimated for each pattern view.
      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.
      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.
      perViewErrors - Output vector of average re-projection errors estimated for each pattern view.
      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.
      Returns:
      automatically generated
    • calibrateCameraCharucoExtended

      public static double calibrateCameraCharucoExtended​(List<Mat> charucoCorners, List<Mat> charucoIds, CharucoBoard board, Size imageSize, Mat cameraMatrix, Mat distCoeffs, List<Mat> rvecs, List<Mat> tvecs, Mat stdDeviationsIntrinsics, Mat stdDeviationsExtrinsics, Mat perViewErrors)
      Calibrate a camera using Charuco corners
      Parameters:
      charucoCorners - vector of detected charuco corners per frame
      charucoIds - list of identifiers for each corner in charucoCorners per frame
      board - Marker Board layout
      imageSize - input image size
      cameraMatrix - Output 3x3 floating-point camera matrix \(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.
      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
      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).
      tvecs - Output vector of translation vectors estimated for each pattern view.
      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.
      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.
      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.
      Returns:
      automatically generated
    • calibrateCameraCharuco

      public static double calibrateCameraCharuco​(List<Mat> charucoCorners, List<Mat> charucoIds, CharucoBoard board, Size imageSize, Mat cameraMatrix, Mat distCoeffs, List<Mat> rvecs, List<Mat> tvecs, int flags, TermCriteria criteria)
      It's the same function as #calibrateCameraCharuco but without calibration error estimation.
      Parameters:
      charucoCorners - automatically generated
      charucoIds - automatically generated
      board - automatically generated
      imageSize - automatically generated
      cameraMatrix - automatically generated
      distCoeffs - automatically generated
      rvecs - automatically generated
      tvecs - automatically generated
      flags - automatically generated
      criteria - automatically generated
      Returns:
      automatically generated
    • calibrateCameraCharuco

      public static double calibrateCameraCharuco​(List<Mat> charucoCorners, List<Mat> charucoIds, CharucoBoard board, Size imageSize, Mat cameraMatrix, Mat distCoeffs, List<Mat> rvecs, List<Mat> tvecs, int flags)
      It's the same function as #calibrateCameraCharuco but without calibration error estimation.
      Parameters:
      charucoCorners - automatically generated
      charucoIds - automatically generated
      board - automatically generated
      imageSize - automatically generated
      cameraMatrix - automatically generated
      distCoeffs - automatically generated
      rvecs - automatically generated
      tvecs - automatically generated
      flags - automatically generated
      Returns:
      automatically generated
    • calibrateCameraCharuco

      public static double calibrateCameraCharuco​(List<Mat> charucoCorners, List<Mat> charucoIds, CharucoBoard board, Size imageSize, Mat cameraMatrix, Mat distCoeffs, List<Mat> rvecs, List<Mat> tvecs)
      It's the same function as #calibrateCameraCharuco but without calibration error estimation.
      Parameters:
      charucoCorners - automatically generated
      charucoIds - automatically generated
      board - automatically generated
      imageSize - automatically generated
      cameraMatrix - automatically generated
      distCoeffs - automatically generated
      rvecs - automatically generated
      tvecs - automatically generated
      Returns:
      automatically generated
    • calibrateCameraCharuco

      public static double calibrateCameraCharuco​(List<Mat> charucoCorners, List<Mat> charucoIds, CharucoBoard board, Size imageSize, Mat cameraMatrix, Mat distCoeffs, List<Mat> rvecs)
      It's the same function as #calibrateCameraCharuco but without calibration error estimation.
      Parameters:
      charucoCorners - automatically generated
      charucoIds - automatically generated
      board - automatically generated
      imageSize - automatically generated
      cameraMatrix - automatically generated
      distCoeffs - automatically generated
      rvecs - automatically generated
      Returns:
      automatically generated
    • calibrateCameraCharuco

      public static double calibrateCameraCharuco​(List<Mat> charucoCorners, List<Mat> charucoIds, CharucoBoard board, Size imageSize, Mat cameraMatrix, Mat distCoeffs)
      It's the same function as #calibrateCameraCharuco but without calibration error estimation.
      Parameters:
      charucoCorners - automatically generated
      charucoIds - automatically generated
      board - automatically generated
      imageSize - automatically generated
      cameraMatrix - automatically generated
      distCoeffs - automatically generated
      Returns:
      automatically generated
    • interpolateCornersCharuco

      @Deprecated public static int interpolateCornersCharuco​(List<Mat> markerCorners, Mat markerIds, Mat image, CharucoBoard board, Mat charucoCorners, Mat charucoIds, Mat cameraMatrix, Mat distCoeffs, int minMarkers)
      Deprecated.
      Use CharucoDetector::detectBoard
      Interpolate position of ChArUco board corners
      Parameters:
      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.
      markerIds - list of identifiers for each marker in corners
      image - input image necesary for corner refinement. Note that markers are not detected and should be sent in corners and ids parameters.
      board - layout of ChArUco board.
      charucoCorners - interpolated chessboard corners
      charucoIds - interpolated chessboard corners identifiers
      cameraMatrix - optional 3x3 floating-point camera matrix \(A = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\)
      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
      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.
      Returns:
      automatically generated
    • interpolateCornersCharuco

      @Deprecated public static int interpolateCornersCharuco​(List<Mat> markerCorners, Mat markerIds, Mat image, CharucoBoard board, Mat charucoCorners, Mat charucoIds, Mat cameraMatrix, Mat distCoeffs)
      Deprecated.
      Use CharucoDetector::detectBoard
      Interpolate position of ChArUco board corners
      Parameters:
      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.
      markerIds - list of identifiers for each marker in corners
      image - input image necesary for corner refinement. Note that markers are not detected and should be sent in corners and ids parameters.
      board - layout of ChArUco board.
      charucoCorners - interpolated chessboard corners
      charucoIds - interpolated chessboard corners identifiers
      cameraMatrix - optional 3x3 floating-point camera matrix \(A = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\)
      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.
      Returns:
      automatically generated
    • interpolateCornersCharuco

      @Deprecated public static int interpolateCornersCharuco​(List<Mat> markerCorners, Mat markerIds, Mat image, CharucoBoard board, Mat charucoCorners, Mat charucoIds, Mat cameraMatrix)
      Deprecated.
      Use CharucoDetector::detectBoard
      Interpolate position of ChArUco board corners
      Parameters:
      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.
      markerIds - list of identifiers for each marker in corners
      image - input image necesary for corner refinement. Note that markers are not detected and should be sent in corners and ids parameters.
      board - layout of ChArUco board.
      charucoCorners - interpolated chessboard corners
      charucoIds - interpolated chessboard corners identifiers
      cameraMatrix - optional 3x3 floating-point camera matrix \(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.
      Returns:
      automatically generated
    • interpolateCornersCharuco

      @Deprecated public static int interpolateCornersCharuco​(List<Mat> markerCorners, Mat markerIds, Mat image, CharucoBoard board, Mat charucoCorners, Mat charucoIds)
      Deprecated.
      Use CharucoDetector::detectBoard
      Interpolate position of ChArUco board corners
      Parameters:
      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.
      markerIds - list of identifiers for each marker in corners
      image - input image necesary for corner refinement. Note that markers are not detected and should be sent in corners and ids parameters.
      board - layout of ChArUco board.
      charucoCorners - interpolated chessboard corners
      charucoIds - interpolated chessboard corners identifiers \(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.
      Returns:
      automatically generated
    • detectCharucoDiamond

      @Deprecated public static void detectCharucoDiamond​(Mat image, List<Mat> markerCorners, Mat markerIds, float squareMarkerLengthRate, List<Mat> diamondCorners, Mat diamondIds, Mat cameraMatrix, Mat distCoeffs, Dictionary dictionary)
      Deprecated.
      Use CharucoDetector::detectDiamonds
      Detect ChArUco Diamond markers
      Parameters:
      image - input image necessary for corner subpixel.
      markerCorners - list of detected marker corners from detectMarkers function.
      markerIds - list of marker ids in markerCorners.
      squareMarkerLengthRate - rate between square and marker length: squareMarkerLengthRate = squareLength/markerLength. The real units are not necessary.
      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> > ).
      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.
      cameraMatrix - Optional camera calibration matrix.
      distCoeffs - Optional camera distortion coefficients.
      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.
    • detectCharucoDiamond

      @Deprecated public static void detectCharucoDiamond​(Mat image, List<Mat> markerCorners, Mat markerIds, float squareMarkerLengthRate, List<Mat> diamondCorners, Mat diamondIds, Mat cameraMatrix, Mat distCoeffs)
      Deprecated.
      Use CharucoDetector::detectDiamonds
      Detect ChArUco Diamond markers
      Parameters:
      image - input image necessary for corner subpixel.
      markerCorners - list of detected marker corners from detectMarkers function.
      markerIds - list of marker ids in markerCorners.
      squareMarkerLengthRate - rate between square and marker length: squareMarkerLengthRate = squareLength/markerLength. The real units are not necessary.
      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> > ).
      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.
      cameraMatrix - Optional camera calibration matrix.
      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.
    • detectCharucoDiamond

      @Deprecated public static void detectCharucoDiamond​(Mat image, List<Mat> markerCorners, Mat markerIds, float squareMarkerLengthRate, List<Mat> diamondCorners, Mat diamondIds, Mat cameraMatrix)
      Deprecated.
      Use CharucoDetector::detectDiamonds
      Detect ChArUco Diamond markers
      Parameters:
      image - input image necessary for corner subpixel.
      markerCorners - list of detected marker corners from detectMarkers function.
      markerIds - list of marker ids in markerCorners.
      squareMarkerLengthRate - rate between square and marker length: squareMarkerLengthRate = squareLength/markerLength. The real units are not necessary.
      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> > ).
      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.
      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.
    • detectCharucoDiamond

      @Deprecated public static void detectCharucoDiamond​(Mat image, List<Mat> markerCorners, Mat markerIds, float squareMarkerLengthRate, List<Mat> diamondCorners, Mat diamondIds)
      Deprecated.
      Use CharucoDetector::detectDiamonds
      Detect ChArUco Diamond markers
      Parameters:
      image - input image necessary for corner subpixel.
      markerCorners - list of detected marker corners from detectMarkers function.
      markerIds - list of marker ids in markerCorners.
      squareMarkerLengthRate - rate between square and marker length: squareMarkerLengthRate = squareLength/markerLength. The real units are not necessary.
      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> > ).
      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.