Package org.opencv.objdetect

## Class Board

- java.lang.Object
- - org.opencv.objdetect.Board

- Direct Known Subclasses:
    `CharucoBoard`, `GridBoard`

      public class Board
      extends java.lang.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 Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected long` | `nativeObj` |

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `Board​(long addr)` |
    `` | `Board​(java.util.List<Mat> objPoints, Dictionary dictionary, Mat ids)` | Common Board constructor

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static Board` | `__fromPtr__​(long addr)` |
    `protected void` | `finalize()` |
    `void` | `generateImage​(Size outSize, Mat img)` | Draw a planar board
    `void` | `generateImage​(Size outSize, Mat img, int marginSize)` | Draw a planar board
    `void` | `generateImage​(Size outSize, Mat img, int marginSize, int borderBits)` | Draw a planar board
    `Dictionary` | `getDictionary()` | return the Dictionary of markers employed for this board
    `MatOfInt` | `getIds()` | vector of the identifiers of the markers in the board (should be the same size as objPoints)
    `long` | `getNativeObjAddr()` |
    `java.util.List<MatOfPoint3f>` | `getObjPoints()` | return array of object points of all the marker corners in the board.
    `Point3` | `getRightBottomCorner()` | get coordinate of the bottom right corner of the board, is set when calling the function create()
    `void` | `matchImagePoints​(java.util.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()

    - ### Methods inherited from class java.lang.Object

      `clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### nativeObj

          protected final long nativeObj

  - ### Constructor Detail

    - #### Board

          protected Board​(long addr)

    - #### Board

          public Board​(java.util.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 Detail

    - #### getNativeObjAddr

          public long getNativeObjAddr()

    - #### __fromPtr__

          public static Board __fromPtr__​(long addr)

    - #### getDictionary

          public Dictionary getDictionary()

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

    - #### getObjPoints

          public java.util.List<MatOfPoint3f> 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

          public Point3 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​(java.util.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 java.lang.Throwable

      Overrides:
        `finalize` in class `java.lang.Object`
      Throws:
        `java.lang.Throwable`