OpenCV  4.10.0
开源计算机视觉
正在加载...
正在搜索...
无匹配项
公共成员函数 | 受保护的属性 | 所有成员列表

#include <opencv2/objdetect/charuco_detector.hpp>

cv::aruco::CharucoDetector 的协作图

公共成员函数

 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 CharucoBoardgetBoard () const
 
const CharucoParametersgetCharucoParameters () const
 
const DetectorParametersgetDetectorParameters () const
 
const RefineParametersgetRefineParameters () const
 
void setBoard (const CharucoBoard &board)
 
void setCharucoParameters (CharucoParameters &charucoParameters)
 
void setDetectorParameters (const DetectorParameters &detectorParameters)
 
void setRefineParameters (const RefineParameters &refineParameters)
 
- 从 cv::Algorithm 继承的公共成员函数
 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
 

受保护的属性

Ptr< CharucoDetectorImpl > charucoDetectorImpl
 

其他继承的成员

- 从 cv::Algorithm 继承的静态公共成员函数
template<typename _Tp >
static Ptr< _Tpload (const String &filename, const String &objname=String())
 从文件中加载算法。
 
template<typename _Tp >
static Ptr< _TploadFromString (const String &strModel, const String &objname=String())
 从字符串中加载算法。
 
template<typename _Tp >
static Ptr< _Tpread (const FileNode &fn)
 从文件节点读取算法。
 
- 从 cv::Algorithm 继承的受保护成员函数
void writeFormat (FileStorage &fs) const
 

构造函数和析构函数文档

◆ CharucoDetector()

cv::aruco::CharucoDetector::CharucoDetector ( const CharucoBoard board,
const CharucoParameters charucoParams = CharucoParameters(),
const DetectorParameters detectorParams = DetectorParameters(),
const RefineParameters refineParams = RefineParameters() 
)
Python
cv.aruco.CharucoDetector(board[, charucoParams[, detectorParams[, refineParams]]]) -> <aruco_CharucoDetector 对象>

基本 CharucoDetector 构造函数。

参数
boardChAruco 棋盘
charucoParamscharuco 检测参数
detectorParams标记检测参数
refineParams标记细化检测参数

成员函数文档

◆ detectBoard()

void cv::aruco::CharucoDetector::detectBoard ( InputArray  image,
OutputArray  charucoCorners,
OutputArray  charucoIds,
InputOutputArrayOfArrays  markerCorners = noArray(),
InputOutputArray  markerIds = noArray() 
) const
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 标记和标识符。
markerIdscorners 中每个标记的标识符列表。如果 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()

void cv::aruco::CharucoDetector::detectDiamonds ( InputArray  image,
OutputArrayOfArrays  diamondCorners,
OutputArray  diamondIds,
InputOutputArrayOfArrays  markerCorners = noArray(),
InputOutputArray  markerIds = noArray() 
) const
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> >)。
diamondIdsdiamondCorners 中钻石的标识符。每个钻石的标识符实际上是 Vec4i 类型,因此每个钻石都有 4 个标识符,它们是构成钻石的 ArUco 标记的标识符。
markerCorners从 detectMarkers 函数检测到的标记角点的列表。如果 markerCorners 和 markerCorners 为空,则函数检测 aruco 标记和 ID。
markerIdsmarkerCorners 中的标记 ID 列表。如果 markerCorners 和 markerCorners 为空,则函数检测 aruco 标记和 ID。

此函数从先前检测到的 ArUco 标记中检测菱形标记。菱形在 diamondCorners 和 diamondIds 参数中返回。如果提供了相机校准参数,则菱形搜索基于重投影。如果没有,则菱形搜索基于单应性。单应性比重投影快,但精度较低。

以下是此函数的调用图

◆ getBoard()

const CharucoBoard & cv::aruco::CharucoDetector::getBoard ( ) const
Python
cv.aruco.CharucoDetector.getBoard() -> retval

◆ getCharucoParameters()

const CharucoParameters & cv::aruco::CharucoDetector::getCharucoParameters ( ) const
Python
cv.aruco.CharucoDetector.getCharucoParameters() -> retval

◆ getDetectorParameters()

const DetectorParameters & cv::aruco::CharucoDetector::getDetectorParameters ( ) const
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
受保护的

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