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

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
 返回此板使用的标记字典
 
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
 

详细描述

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 object>

常用 Board 构造函数。

参数
objPoints板中所有标记角的物体点数组
dictionary此板使用的标记字典
ids板中标记标识符的向量

◆ Board() [2/3]

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

◆ Board() [3/3]

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

成员函数文档

◆ 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

返回此板使用的标记字典

◆ 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 detectedCorners,
InputArray detectedIds,
OutputArray objPoints,
OutputArray imgPoints ) const
Python
cv.aruco.Board.matchImagePoints(detectedCorners, detectedIds[, objPoints[, imgPoints]]) -> objPoints, imgPoints

给定一个板配置和一组检测到的标记,返回相应的图像点和物体点,可用于 solvePnP()

参数
detectedCorners板中检测到的标记角点列表。对于 cv::Board 和 cv::GridBoard,该方法期望 std::vector<std::vector<Point2f>> 或 std::vector<Mat> 包含 Aruco 标记角点。对于 cv::CharucoBoard,该方法期望 std::vector<Point2f> 或 Mat 包含 ChAruco 角点(与 Aruco 标记匹配的棋盘格角点)。
detectedIds每个标记或 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
保护

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