OpenCV 4.11.0
开源计算机视觉
加载中…
搜索中…
无匹配项

Board ArUco 标记的棋盘。更多…

#include <opencv2/objdetect/aruco_board.hpp>

cv::aruco::Board 的协作图

公有成员函数

 Board ()
 
 Board (InputArrayOfArrays objPoints, const Dictionary &dictionary, InputArray ids)
 常用的 Board 构造函数。
 
void generateImage (Size outSize, OutputArray img, int marginSize=0, int borderBits=1) const
 绘制平面棋盘。
 
const DictionarygetDictionary () const
 返回此棋盘使用的 Dictionary(标记字典)
 
const std::vector< int > & getIds () const
 棋盘中标记的标识符向量(应与 objPoints 大小相同)
 
const std::vector< std::vector< Point3f > > & getObjPoints () const
 返回棋盘中所有标记角点的对象点数组。
 
const Point3fgetRightBottomCorner () const
 获取棋盘右下角的坐标,在调用 create() 函数时设置。
 
void matchImagePoints (InputArrayOfArrays detectedCorners, InputArray detectedIds, OutputArray objPoints, OutputArray imgPoints) const
 给定棋盘配置和一组检测到的标记,返回相应的图像点和对象点,可用于 solvePnP()
 

保护成员函数

 Board (const Ptr< Impl > &impl)
 

保护属性

Ptr< Impl > impl
 

详细描述

Board ArUco 标记的棋盘。

棋盘是在具有公共坐标系的 3D 空间中的一组标记。 标记棋盘的常见形式是平面 (2D) 棋盘,但是可以使用任何 3D 布局。一个 Board 对象由以下部分组成:

  • 标记角点的对象点,即它们相对于棋盘系统的坐标。
  • 指示棋盘标记类型的字典。
  • 棋盘中所有标记的标识符。

构造函数和析构函数文档

◆ Board() [1/3]

cv::aruco::Board::Board ( InputArrayOfArrays objPoints,
const Dictionary & dictionary,
InputArray ids )
Python
cv.aruco.Board(objPoints, dictionary, ids) -> <aruco_Board 对象>

常用的 Board 构造函数。

参数
objPoints棋盘中所有标记角点的对象点数组
dictionary此棋盘使用的标记字典
ids棋盘中标记的标识符向量

◆ Board() [2/3]

cv::aruco::Board::Board ( )
Python
cv.aruco.Board(objPoints, dictionary, ids) -> <aruco_Board 对象>

◆ Board() [3/3]

cv::aruco::Board::Board ( const Ptr< Impl > & impl)
保护
Python
cv.aruco.Board(objPoints, dictionary, ids) -> <aruco_Board 对象>

成员函数文档

◆ generateImage()

void cv::aruco::Board::generateImage ( Size outSize,
OutputArray img,
int marginSize = 0,
int borderBits = 1 ) const
Python
cv.aruco.Board.generateImage(outSize[, img[, marginSize[, borderBits]]]) -> img

绘制平面棋盘。

参数
outSize输出图像大小(像素)。
img包含棋盘的输出图像。此图像的大小将为 outSize,棋盘将在中心,保持棋盘比例。
marginSize输出图像中棋盘的最小边距(像素)。
borderBits标记边框的宽度。

此函数返回棋盘图像,准备打印。

◆ getDictionary()

const Dictionary & cv::aruco::Board::getDictionary ( ) const
Python
cv.aruco.Board.getDictionary() -> retval

返回此棋盘使用的 Dictionary(标记字典)

◆ getIds()

const std::vector< int > & cv::aruco::Board::getIds ( ) const
Python
cv.aruco.Board.getIds() -> retval

棋盘中标记的标识符向量(应与 objPoints 大小相同)

返回值
标记的标识符向量

◆ getObjPoints()

const std::vector< std::vector< Point3f > > & cv::aruco::Board::getObjPoints ( ) const
Python
cv.aruco.Board.getObjPoints() -> retval

返回棋盘中所有标记角点的对象点数组。

每个标记包含其 4 个角点,顺序如下:

  • objPoints[i][0] - 第 i 个标记的左上角点
  • objPoints[i][1] - 第 i 个标记的右上角点
  • objPoints[i][2] - 第 i 个标记的右下角点
  • objPoints[i][3] - 第 i 个标记的左下角点

标记按特定顺序排列 - 每行从左到右,逐行排列。对于 M 个标记,大小为 Mx4。

◆ getRightBottomCorner()

const Point3f & cv::aruco::Board::getRightBottomCorner ( ) const
Python
cv.aruco.Board.getRightBottomCorner() -> retval

获取棋盘右下角的坐标,在调用 create() 函数时设置。

◆ matchImagePoints()

void cv::aruco::Board::matchImagePoints ( InputArrayOfArrays 检测到的角点,
InputArray 检测到的ID,
OutputArray objPoints,
OutputArray imgPoints ) const
Python
cv.aruco.Board.matchImagePoints(detectedCorners, detectedIds[, objPoints[, imgPoints]]) -> objPoints, imgPoints

给定棋盘配置和一组检测到的标记,返回相应的图像点和对象点,可用于 solvePnP()

参数
检测到的角点检测到的棋盘标记角点列表。对于cv::Board和cv::GridBoard,该方法期望std::vector<std::vector<Point2f>>或std::vector<Mat>,其中包含Aruco标记角点。对于cv::CharucoBoard,该方法期望std::vector<Point2f>或Mat,其中包含ChAruco角点(与Aruco标记匹配的棋盘角点)。
检测到的ID每个标记或charuco角点的标识符列表。对于任何Board类,该方法期望std::vector<int>或Mat
objPoints棋盘坐标空间中标记点的向量。对于任何Board类,该方法期望std::vector<cv::Point3f> objectPoints或cv::Mat
imgPoints图像坐标空间中标记点的向量。对于任何Board类,该方法期望std::vector<cv::Point2f> objectPoints或cv::Mat
另请参见
solvePnP

成员数据文档

◆ impl

Ptr<Impl> cv::aruco::Board::impl
保护

此类的文档是从以下文件生成的