#include <opencv2/objdetect/charuco_detector.hpp>
|
| | CharucoDetector (const CharucoBoard &board, const CharucoParameters &charucoParams=CharucoParameters(), const DetectorParameters &detectorParams=DetectorParameters(), const RefineParameters &refineParams=RefineParameters()) |
| | 基本的 CharucoDetector 构造函数。
|
| |
| void | detectBoard (InputArray image, OutputArray charucoCorners, OutputArray charucoIds, InputOutputArrayOfArrays markerCorners=noArray(), InputOutputArray markerIds=noArray()) const |
| | 检测 ArUco 标记并插值 ChArUco 棋盘角点的位姿
|
| |
| void | detectDiamonds (InputArray image, OutputArrayOfArrays diamondCorners, OutputArray diamondIds, InputOutputArrayOfArrays markerCorners=noArray(), InputOutputArray markerIds=noArray()) const |
| | 检测 ChArUco Diamond 标记。
|
| |
| const CharucoBoard & | getBoard () const |
| |
| const CharucoParameters & | getCharucoParameters () const |
| |
| const DetectorParameters & | getDetectorParameters () const |
| |
| const RefineParameters & | getRefineParameters () const |
| |
| void | setBoard (const CharucoBoard &board) |
| |
| void | setCharucoParameters (CharucoParameters &charucoParameters) |
| |
| void | setDetectorParameters (const DetectorParameters &detectorParameters) |
| |
| void | setRefineParameters (const RefineParameters &refineParameters) |
| |
| | Algorithm () |
| |
| virtual | ~Algorithm () |
| |
| virtual void | clear () |
| | 清除算法状态。
|
| |
| virtual bool | empty () const |
| | 如果 Algorithm 为空(例如,在开始时或读取失败后),则返回 true。
|
| |
| virtual String | getDefaultName () const |
| |
| virtual void | read (const FileNode &fn) |
| | 从文件存储中读取算法参数。
|
| |
| virtual void | save (const String &filename) const |
| |
| void | write (const Ptr< FileStorage > &fs, const String &name=String()) const |
| |
| virtual void | write (FileStorage &fs) const |
| | 将算法参数存储到文件存储中。
|
| |
| void | write (FileStorage &fs, const String &name) const |
| |
◆ CharucoDetector()
| Python |
|---|
| cv.aruco.CharucoDetector( | board[, charucoParams[, detectorParams[, refineParams]]] | ) -> | <aruco_CharucoDetector 对象> |
基本的 CharucoDetector 构造函数。
- 参数
-
| board | ChAruco 棋盘 |
| charucoParams | charuco 检测参数 |
| detectorParams | 标记检测参数 |
| refineParams | 标记细化检测参数 |
◆ detectBoard()
| Python |
|---|
| cv.aruco.CharucoDetector.detectBoard( | image[, charucoCorners[, charucoIds[, markerCorners[, markerIds]]]] | ) -> | charucoCorners, charucoIds, markerCorners, markerIds |
检测 ArUco 标记并插值 ChArUco 棋盘角点的位姿
- 参数
-
| image | 用于角点细化的输入图像。请注意,不会检测标记,应在 corners 和 ids 参数中发送。 |
| charucoCorners | 插值棋盘角点。 |
| charucoIds | 插值棋盘角点标识符。 |
| markerCorners | 已检测到的标记角点的向量。对于每个标记,都提供其四个角点(例如 std::vector<std::vector<cv::Point2f> >)。对于 N 个检测到的标记,此数组的维度应为 Nx4。角点的顺序应为顺时针方向。如果 markerCorners 和 markerCorners 为空,则函数检测 Aruco 标记和 ID。 |
| markerIds | corners 中每个标记的标识符列表。如果 markerCorners 和 markerCorners 为空,则函数检测 Aruco 标记和 ID。 |
此函数接收检测到的标记,并使用检测到的 Aruco 标记返回 ChArUco 棋盘的棋盘角点的二维位置。
如果 markerCorners 和 markerCorners 为空,则将运行 detectMarkers() 并检测 Aruco 标记和 ID。
如果提供了相机参数,则该过程基于近似的姿态估计,否则基于局部单应性。仅返回可见角点。对于每个角点,其对应的标识符也在 charucoIds 中返回。
- 另请参阅
- findChessboardCorners
- 注意
- OpenCV 4.6.0 之后,ChArUco 模式生成算法在偶数行计数方面存在不兼容的更改。使用 cv::aruco::CharucoBoard::setLegacyPattern() 可确保与使用 OpenCV 4.6.0 之前的版本创建的模式兼容。有关更多信息,请参阅此问题:https://github.com/opencv/opencv/issues/23152
◆ detectDiamonds()
| Python |
|---|
| cv.aruco.CharucoDetector.detectDiamonds( | image[, diamondCorners[, diamondIds[, markerCorners[, markerIds]]]] | ) -> | diamondCorners, diamondIds, markerCorners, markerIds |
检测 ChArUco Diamond 标记。
- 参数
-
| image | 用于亚像素角点检测的输入图像。 |
| diamondCorners | 检测到的菱形角点输出列表(每个菱形 4 个角点)。顺序与 marker 角点相同:左上、右上、右下和左下。与 detectMarkers 返回的角点类似的格式(例如 std::vector<std::vector<cv::Point2f> >)。 |
| diamondIds | diamondCorners 中菱形的 ID。每个菱形的 ID 实际上是 Vec4i 类型,因此每个菱形都有 4 个 ID,它们是构成菱形的 Aruco 标记的 ID。 |
| markerCorners | 来自 detectMarkers 函数的已检测标记角点的列表。如果 markerCorners 和 markerCorners 为空,则函数检测 Aruco 标记和 ID。 |
| markerIds | markerCorners 中标记 ID 的列表。如果 markerCorners 和 markerCorners 为空,则函数检测 Aruco 标记和 ID。 |
此函数根据先前检测到的 ArUco 标记检测菱形标记。菱形在 diamondCorners 和 diamondIds 参数中返回。如果提供了相机校准参数,则菱形搜索基于重投影。如果不是,则菱形搜索基于单应性。单应性比重投影快,但精度较低。
◆ getBoard()
| const CharucoBoard & cv::aruco::CharucoDetector::getBoard |
( |
| ) |
const |
| Python |
|---|
| cv.aruco.CharucoDetector.getBoard( | | ) -> | retval |
◆ getCharucoParameters()
| Python |
|---|
| cv.aruco.CharucoDetector.getCharucoParameters( | | ) -> | retval |
◆ getDetectorParameters()
| Python |
|---|
| cv.aruco.CharucoDetector.getDetectorParameters( | | ) -> | retval |
◆ getRefineParameters()
| const RefineParameters & cv::aruco::CharucoDetector::getRefineParameters |
( |
| ) |
const |
| Python |
|---|
| cv.aruco.CharucoDetector.getRefineParameters( | | ) -> | retval |
◆ setBoard()
| void cv::aruco::CharucoDetector::setBoard |
( |
const CharucoBoard & | board | ) |
|
| Python |
|---|
| cv.aruco.CharucoDetector.setBoard( | board | ) -> | None |
◆ setCharucoParameters()
| void cv::aruco::CharucoDetector::setCharucoParameters |
( |
CharucoParameters & | charucoParameters | ) |
|
| Python |
|---|
| cv.aruco.CharucoDetector.setCharucoParameters( | charucoParameters | ) -> | None |
◆ setDetectorParameters()
| void cv::aruco::CharucoDetector::setDetectorParameters |
( |
const DetectorParameters & | detectorParameters | ) |
|
| Python |
|---|
| cv.aruco.CharucoDetector.setDetectorParameters( | detectorParameters | ) -> | None |
◆ setRefineParameters()
| void cv::aruco::CharucoDetector::setRefineParameters |
( |
const RefineParameters & | refineParameters | ) |
|
| Python |
|---|
| cv.aruco.CharucoDetector.setRefineParameters( | refineParameters | ) -> | None |
◆ charucoDetectorImpl
| Ptr<CharucoDetectorImpl> cv::aruco::CharucoDetector::charucoDetectorImpl |
|
protected |
此类的文档是从以下文件生成的