Board of ArUco markers. More...
#include <opencv2/objdetect/aruco_board.hpp>
Public Member Functions | |
Board () | |
Board (InputArrayOfArrays objPoints, const Dictionary &dictionary, InputArray ids) | |
Common Board constructor. | |
void | generateImage (Size outSize, OutputArray img, int marginSize=0, int borderBits=1) const |
Draw a planar board. | |
const Dictionary & | getDictionary () const |
return the Dictionary of markers employed for this board | |
const std::vector< int > & | getIds () const |
vector of the identifiers of the markers in the board (should be the same size as objPoints) | |
const std::vector< std::vector< Point3f > > & | getObjPoints () const |
return array of object points of all the marker corners in the board. | |
const Point3f & | getRightBottomCorner () const |
get coordinate of the bottom right corner of the board, is set when calling the function create() | |
void | matchImagePoints (InputArrayOfArrays detectedCorners, InputArray detectedIds, OutputArray objPoints, OutputArray imgPoints) const |
Given a board configuration and a set of detected markers, returns the corresponding image points and object points, can be used in solvePnP() | |
Protected Member Functions | |
Board (const Ptr< Impl > &impl) | |
Protected Attributes | |
Ptr< Impl > | impl |
Detailed Description
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.
Constructor & Destructor Documentation
◆ Board() [1/3]
cv::aruco::Board::Board | ( | InputArrayOfArrays | objPoints, |
const Dictionary & | dictionary, | ||
InputArray | 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
◆ Board() [2/3]
cv::aruco::Board::Board | ( | ) |
◆ Board() [3/3]
|
protected |
Member Function Documentation
◆ generateImage()
void cv::aruco::Board::generateImage | ( | Size | outSize, |
OutputArray | img, | ||
int | marginSize = 0 , |
||
int | borderBits = 1 |
||
) | const |
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.
◆ getDictionary()
const Dictionary & cv::aruco::Board::getDictionary | ( | ) | const |
return the Dictionary of markers employed for this board
◆ getIds()
const std::vector< int > & cv::aruco::Board::getIds | ( | ) | const |
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
◆ getObjPoints()
const std::vector< std::vector< Point3f > > & cv::aruco::Board::getObjPoints | ( | ) | const |
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.
◆ getRightBottomCorner()
const Point3f & cv::aruco::Board::getRightBottomCorner | ( | ) | const |
get coordinate of the bottom right corner of the board, is set when calling the function create()
◆ matchImagePoints()
void cv::aruco::Board::matchImagePoints | ( | InputArrayOfArrays | detectedCorners, |
InputArray | detectedIds, | ||
OutputArray | objPoints, | ||
OutputArray | imgPoints | ||
) | const |
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 also
- solvePnP
Member Data Documentation
◆ impl
|
protected |
The documentation for this class was generated from the following file:
- opencv2/objdetect/aruco_board.hpp