ChArUco 棋盘是一个平面棋盘,其中标记放置在棋盘的白色方格内。更多…
#include <opencv2/objdetect/aruco_board.hpp>
|
| CharucoBoard () |
|
| CharucoBoard (const Size &size, float squareLength, float markerLength, const Dictionary &dictionary, InputArray ids=noArray()) |
| CharucoBoard 构造函数。
|
|
bool | checkCharucoCornersCollinear (InputArray charucoIds) const |
| 检查 ChArUco 标记是否共线
|
|
std::vector< Point3f > | getChessboardCorners () const |
| 获取 CharucoBoard::chessboardCorners
|
|
Size | getChessboardSize () const |
|
bool | getLegacyPattern () const |
|
float | getMarkerLength () const |
|
std::vector< std::vector< int > > | getNearestMarkerCorners () const |
| 获取 CharucoBoard::nearestMarkerCorners,对于每个 charuco 角点,每个标记的最近标记角点 ID
|
|
std::vector< std::vector< int > > | getNearestMarkerIdx () const |
| 获取 CharucoBoard::nearestMarkerIdx,对于每个 charuco 角点,在 ids 数组中的最近标记索引
|
|
float | getSquareLength () const |
|
void | setLegacyPattern (bool legacyPattern) |
| 设置传统棋盘模式。
|
|
| Board () |
|
| Board (InputArrayOfArrays objPoints, const Dictionary &dictionary, InputArray ids) |
| 常用的 Board 构造函数。
|
|
void | generateImage (Size outSize, OutputArray img, int marginSize=0, int borderBits=1) const |
| 绘制平面棋盘。
|
|
const Dictionary & | getDictionary () const |
| 返回此棋盘使用的 Dictionary。
|
|
const std::vector< int > & | getIds () const |
| 棋盘中标记标识符的向量(应与 objPoints 大小相同)
|
|
const std::vector< std::vector< Point3f > > & | getObjPoints () const |
| 返回棋盘中所有标记角点目标点的数组。
|
|
const Point3f & | getRightBottomCorner () const |
| 获取棋盘右下角的坐标,在调用 create() 函数时设置。
|
|
void | matchImagePoints (InputArrayOfArrays detectedCorners, InputArray detectedIds, OutputArray objPoints, OutputArray imgPoints) const |
| 给定棋盘配置和一组检测到的标记,返回相应的图像点和目标点,可用于 solvePnP()
|
|
ChArUco 棋盘是一个平面棋盘,其中标记放置在棋盘的白色方格内。
ChArUco 棋盘的优点是它同时提供了 ArUco 标记的多功能性和棋盘角的精度,这对于标定和位姿估计非常重要。可以使用 generateImage() 方法绘制棋盘图像。
◆ CharucoBoard() [1/2]
cv::aruco::CharucoBoard::CharucoBoard |
( |
const Size & | size, |
|
|
float | squareLength, |
|
|
float | markerLength, |
|
|
const Dictionary & | dictionary, |
|
|
InputArray | ids = noArray() ) |
Python |
---|
| cv.aruco.CharucoBoard( | size, squareLength, markerLength, dictionary[, ids] | ) -> | <aruco_CharucoBoard 对象> |
CharucoBoard 构造函数。
- 参数
-
size | x 和 y 方向上棋盘方格的数量 |
squareLength | squareLength 棋盘方格边长(通常以米为单位) |
markerLength | markerLength 标记边长(与 squareLength 使用相同的单位) |
dictionary | 指示标记类型的标记字典 |
ids | 用于标记的id数组。字典中的第一个标记用于填充白色棋盘格。 |
◆ CharucoBoard() [2/2]
cv::aruco::CharucoBoard::CharucoBoard |
( |
| ) |
|
Python |
---|
| cv.aruco.CharucoBoard( | size, squareLength, markerLength, dictionary[, ids] | ) -> | <aruco_CharucoBoard 对象> |
◆ checkCharucoCornersCollinear()
bool cv::aruco::CharucoBoard::checkCharucoCornersCollinear |
( |
InputArray | charucoIds | ) |
const |
Python |
---|
| cv.aruco.CharucoBoard.checkCharucoCornersCollinear( | charucoIds | ) -> | retval |
检查 ChArUco 标记是否共线
- 参数
-
charucoIds | 每帧中charucoCorners中每个角点的标识符列表。 |
- 返回值
- 布尔值,如果检测到的角点形成一条直线,则为1(true);如果它们没有形成直线,则为0(false)。如果角点共线(true),则solvePnP、标定函数将失败。
charucoIDs中的id数量应该小于等于棋盘上棋盘角点的数量。此函数检查charuco角点是否在一条直线上(如果是,则返回true),或者不在一条直线上(false)。检测到平行于轴线、对角线和其他直线。退化情况:对于charucoIDs数量 <= 2,函数返回true。
◆ getChessboardCorners()
std::vector< Point3f > cv::aruco::CharucoBoard::getChessboardCorners |
( |
| ) |
const |
Python |
---|
| cv.aruco.CharucoBoard.getChessboardCorners( | | ) -> | retval |
获取 CharucoBoard::chessboardCorners
◆ getChessboardSize()
Size cv::aruco::CharucoBoard::getChessboardSize |
( |
| ) |
const |
Python |
---|
| cv.aruco.CharucoBoard.getChessboardSize( | | ) -> | retval |
◆ getLegacyPattern()
bool cv::aruco::CharucoBoard::getLegacyPattern |
( |
| ) |
const |
Python |
---|
| cv.aruco.CharucoBoard.getLegacyPattern( | | ) -> | retval |
◆ getMarkerLength()
float cv::aruco::CharucoBoard::getMarkerLength |
( |
| ) |
const |
Python |
---|
| cv.aruco.CharucoBoard.getMarkerLength( | | ) -> | retval |
◆ getNearestMarkerCorners()
std::vector< std::vector< int > > cv::aruco::CharucoBoard::getNearestMarkerCorners |
( |
| ) |
const |
获取 CharucoBoard::nearestMarkerCorners,对于每个 charuco 角点,每个标记的最近标记角点 ID
◆ getNearestMarkerIdx()
std::vector< std::vector< int > > cv::aruco::CharucoBoard::getNearestMarkerIdx |
( |
| ) |
const |
获取 CharucoBoard::nearestMarkerIdx,对于每个 charuco 角点,在 ids 数组中的最近标记索引
◆ getSquareLength()
float cv::aruco::CharucoBoard::getSquareLength |
( |
| ) |
const |
Python |
---|
| cv.aruco.CharucoBoard.getSquareLength( | | ) -> | retval |
◆ setLegacyPattern()
void cv::aruco::CharucoBoard::setLegacyPattern |
( |
bool | legacyPattern | ) |
|
Python |
---|
| cv.aruco.CharucoBoard.setLegacyPattern( | legacyPattern | ) -> | 无 |
此类的文档是从以下文件生成的