Class Board

java.lang.Object
org.opencv.objdetect.Board
Direct Known Subclasses:
CharucoBoard, GridBoard

public class Board
extends Object
Board of ArUco markers A board is a set of markers in the 3D space with a common coordinate system. The common form of a board of marker is a planar (2D) board, however any 3D layout can be used. A Board object is composed by: - The object points of the marker corners, i.e. their coordinates respect to the board system. - The dictionary which indicates the type of markers of the board - The identifier of all the markers in the board.
  • Field Details

  • Constructor Details

    • Board

      protected Board​(long addr)
    • Board

      public Board​(List<Mat> objPoints, Dictionary dictionary, Mat ids)
      Common Board constructor
      Parameters:
      objPoints - array of object points of all the marker corners in the board
      dictionary - the dictionary of markers employed for this board
      ids - vector of the identifiers of the markers in the board
  • Method Details

    • getNativeObjAddr

      public long getNativeObjAddr()
    • __fromPtr__

      public static Board __fromPtr__​(long addr)
    • getDictionary

      return the Dictionary of markers employed for this board
      Returns:
      automatically generated
    • getObjPoints

      return array of object points of all the marker corners in the board. Each marker include its 4 corners in this order: - objPoints[i][0] - left-top point of i-th marker - objPoints[i][1] - right-top point of i-th marker - objPoints[i][2] - right-bottom point of i-th marker - objPoints[i][3] - left-bottom point of i-th marker Markers are placed in a certain order - row by row, left to right in every row. For M markers, the size is Mx4.
      Returns:
      automatically generated
    • getIds

      public MatOfInt getIds()
      vector of the identifiers of the markers in the board (should be the same size as objPoints)
      Returns:
      vector of the identifiers of the markers
    • getRightBottomCorner

      get coordinate of the bottom right corner of the board, is set when calling the function create()
      Returns:
      automatically generated
    • matchImagePoints

      public void matchImagePoints​(List<Mat> detectedCorners, Mat detectedIds, Mat objPoints, Mat imgPoints)
      Given a board configuration and a set of detected markers, returns the corresponding image points and object points, can be used in solvePnP()
      Parameters:
      detectedCorners - List of detected marker corners of the board. For cv::Board and cv::GridBoard the method expects std::vector<std::vector<Point2f>> or std::vector<Mat> with Aruco marker corners. For cv::CharucoBoard the method expects std::vector<Point2f> or Mat with ChAruco corners (chess board corners matched with Aruco markers).
      detectedIds - List of identifiers for each marker or charuco corner. For any Board class the method expects std::vector<int> or Mat.
      objPoints - Vector of marker points in the board coordinate space. For any Board class the method expects std::vector<cv::Point3f> objectPoints or cv::Mat
      imgPoints - Vector of marker points in the image coordinate space. For any Board class the method expects std::vector<cv::Point2f> objectPoints or cv::Mat SEE: solvePnP
    • generateImage

      public void generateImage​(Size outSize, Mat img, int marginSize, int borderBits)
      Draw a planar board
      Parameters:
      outSize - size of the output image in pixels.
      img - output image with the board. The size of this image will be outSize and the board will be on the center, keeping the board proportions.
      marginSize - minimum margins (in pixels) of the board in the output image
      borderBits - width of the marker borders. This function return the image of the board, ready to be printed.
    • generateImage

      public void generateImage​(Size outSize, Mat img, int marginSize)
      Draw a planar board
      Parameters:
      outSize - size of the output image in pixels.
      img - output image with the board. The size of this image will be outSize and the board will be on the center, keeping the board proportions.
      marginSize - minimum margins (in pixels) of the board in the output image This function return the image of the board, ready to be printed.
    • generateImage

      public void generateImage​(Size outSize, Mat img)
      Draw a planar board
      Parameters:
      outSize - size of the output image in pixels.
      img - output image with the board. The size of this image will be outSize and the board will be on the center, keeping the board proportions. This function return the image of the board, ready to be printed.
    • finalize

      protected void finalize() throws Throwable
      Overrides:
      finalize in class Object
      Throws:
      Throwable