#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 钻石标记。
|
|
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 标记和标识符。 |
markerIds | corners 中每个标记的标识符列表。如果 markerCorners 和 markerCorners 为空,则该函数检测 ArUco 标记和标识符。 |
此函数接收检测到的标记,并使用检测到的 ArUco 标记返回 ChArUco 棋盘角点的二维位置。
如果 markerCorners 和 markerCorners 为空,则 detectMarkers() 将运行并检测 ArUco 标记和标识符。
如果提供相机参数,则该过程基于近似位姿估计,否则基于局部单应性。仅返回可见角点。对于每个角点,其对应的标识符也在 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 钻石标记。
- 参数
-
image | 用于角点亚像素的输入图像。 |
diamondCorners | 检测到的钻石角点的输出列表(每个钻石 4 个角点)。顺序与 marker corners 中的顺序相同:左上角、右上角、右下角和左下角。与 detectMarkers 返回的角点类似的格式(例如 std::vector<std::vector<cv::Point2f> >)。 |
diamondIds | diamondCorners 中钻石的标识符。每个钻石的标识符实际上是 Vec4i 类型,因此每个钻石都有 4 个标识符,它们是构成钻石的 ArUco 标记的标识符。 |
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 |
|
受保护的 |
此类的文档从以下文件生成