OpenCV 4.12.0
开源计算机视觉
加载中...
搜索中...
无匹配项
cv::aruco::DetectorParameters 结构体参考

结构体 DetectorParametersArucoDetector 使用 更多...

#include <opencv2/objdetect/aruco_detector.hpp>

cv::aruco::DetectorParameters 的协作图

公共成员函数

 DetectorParameters ()
 
bool readDetectorParameters (const FileNode &fn)
 FileNode 读取一组新的 DetectorParameters (使用 FileStorage.root())。
 
bool writeDetectorParameters (FileStorage &fs, const String &name=String())
 将一组 DetectorParameters 写入 FileStorage
 

公共属性

double adaptiveThreshConstant
 在查找轮廓之前进行自适应阈值处理的常数(默认值 7)
 
int adaptiveThreshWinSizeMax
 在查找轮廓之前进行自适应阈值处理的最大窗口大小(默认值 23)。
 
int adaptiveThreshWinSizeMin
 在查找轮廓之前进行自适应阈值处理的最小窗口大小(默认值 3)。
 
int adaptiveThreshWinSizeStep
 阈值处理过程中从 adaptiveThreshWinSizeMin 到 adaptiveThreshWinSizeMax 的增量(默认值 10)。
 
float aprilTagCriticalRad
 拒绝边对角度接近直线或接近 180 度的四边形。
 
int aprilTagDeglitch
 阈值图像是否应进行去毛刺处理?仅对非常嘈杂的图像有用(默认值 0)。
 
float aprilTagMaxLineFitMse
 当将线条拟合到轮廓时,最大均方误差是多少
 
int aprilTagMaxNmaxima
 将一组像素分割成四边形时要考虑多少个角点候选(默认值 10)。
 
int aprilTagMinClusterPixels
 拒绝包含像素过少的四边形(默认值 5)。
 
int aprilTagMinWhiteBlackDiff
 添加一个额外检查,即白色模型(整体)必须比黑色模型更亮。
 
float aprilTagQuadDecimate
 April :: 用户可配置参数。
 
float aprilTagQuadSigma
 应将何种高斯模糊应用于分割后的图像(用于四边形检测?)
 
int cornerRefinementMaxIterations
 角点细化过程停止准则的最大迭代次数(默认值 30)。
 
int cornerRefinementMethod
 默认值 CORNER_REFINE_NONE
 
double cornerRefinementMinAccuracy
 角点细化过程停止准则的最小误差(默认值:0.1)
 
int cornerRefinementWinSize
 角点细化过程的最大窗口大小(以像素为单位)(默认值 5)。
 
bool detectInvertedMarker
 检查是否存在白色标记。
 
double errorCorrectionRate
 相对于每个字典的最大纠错能力的纠错率(默认值 0.6)。
 
int markerBorderBits
 标记边框的位数,即标记边框宽度(默认值 1)。
 
double maxErroneousBitsInBorderRate
 边框中允许的最大错误位数(即边框中允许的白色位数)。
 
double maxMarkerPerimeterRate
 确定要检测的标记轮廓的最大周长。
 
double minCornerDistanceRate
 检测到的标记角点之间相对于其周长的最小距离(默认值 0.05)
 
int minDistanceToBorder
 检测到的标记的任何角点到图像边界的最小距离(以像素为单位)(默认值 3)
 
float minGroupDistance = 0.21f
 组中两个标记角点之间的最小平均距离,用于将它们添加到候选列表
 
double minMarkerDistanceRate
 要分组的两个标记角点之间的最小平均距离(默认值 0.125)。
 
float minMarkerLengthRatioOriginalImg
 范围 [0,1],论文中的公式 (2)。参数 tau_i 对处理速度有直接影响。
 
double minMarkerPerimeterRate
 确定要检测的标记轮廓的最小周长。
 
double minOtsuStdDev
 在解码步骤中,像素值的最小标准差用于应用 Otsu 阈值处理(否则,所有位都根据均值是否高于 128 设置为 0 或 1)(默认值 5.0)
 
int minSideLengthCanonicalImg
 规范图像中标记的最小边长。后者是搜索轮廓的二值化图像。
 
double perspectiveRemoveIgnoredMarginPerCell
 每个单元格的像素边距宽度,不用于确定单元格位。
 
int perspectiveRemovePixelPerCell
 移除透视时,标记每个单元格的位数(每维度)(默认值 4)。
 
double polygonalApproxAccuracyRate
 多边形逼近过程中确定哪些轮廓是正方形的最小精度。(默认值 0.03)
 
float relativeCornerRefinmentWinSize
 相对于 ArUco 模块大小的角点细化动态窗口大小(默认值 0.3)。
 
bool useAruco3Detection
 启用新的、更快的 ArUco 检测策略。
 

详细描述

结构体 DetectorParametersArucoDetector 使用

构造函数 & 析构函数文档

◆ DetectorParameters()

cv::aruco::DetectorParameters::DetectorParameters ( )
inline

成员函数文档

◆ readDetectorParameters()

bool cv::aruco::DetectorParameters::readDetectorParameters ( const FileNode & fn)

FileNode 读取一组新的 DetectorParameters (使用 FileStorage.root())。

◆ writeDetectorParameters()

bool cv::aruco::DetectorParameters::writeDetectorParameters ( FileStorage & fs,
const String & name = String() )

将一组 DetectorParameters 写入 FileStorage

成员数据文档

◆ adaptiveThreshConstant

double cv::aruco::DetectorParameters::adaptiveThreshConstant

在查找轮廓之前进行自适应阈值处理的常数(默认值 7)

◆ adaptiveThreshWinSizeMax

int cv::aruco::DetectorParameters::adaptiveThreshWinSizeMax

在查找轮廓之前进行自适应阈值处理的最大窗口大小(默认值 23)。

◆ adaptiveThreshWinSizeMin

int cv::aruco::DetectorParameters::adaptiveThreshWinSizeMin

在查找轮廓之前进行自适应阈值处理的最小窗口大小(默认值 3)。

◆ adaptiveThreshWinSizeStep

int cv::aruco::DetectorParameters::adaptiveThreshWinSizeStep

阈值处理过程中从 adaptiveThreshWinSizeMin 到 adaptiveThreshWinSizeMax 的增量(默认值 10)。

◆ aprilTagCriticalRad

float cv::aruco::DetectorParameters::aprilTagCriticalRad

拒绝边对角度接近直线或接近 180 度的四边形。

零表示不拒绝任何四边形。(以弧度为单位)(默认值 10*PI/180)

◆ aprilTagDeglitch

int cv::aruco::DetectorParameters::aprilTagDeglitch

阈值图像是否应进行去毛刺处理?仅对非常嘈杂的图像有用(默认值 0)。

◆ aprilTagMaxLineFitMse

float cv::aruco::DetectorParameters::aprilTagMaxLineFitMse

当将线条拟合到轮廓时,最大均方误差是多少

◆ aprilTagMaxNmaxima

int cv::aruco::DetectorParameters::aprilTagMaxNmaxima

将一组像素分割成四边形时要考虑多少个角点候选(默认值 10)。

◆ aprilTagMinClusterPixels

int cv::aruco::DetectorParameters::aprilTagMinClusterPixels

拒绝包含像素过少的四边形(默认值 5)。

◆ aprilTagMinWhiteBlackDiff

int cv::aruco::DetectorParameters::aprilTagMinWhiteBlackDiff

添加一个额外检查,即白色模型(整体)必须比黑色模型更亮。

当我们建立黑白像素模型时,我们增加了一个额外检查,即白色模型(整体)必须比黑色模型更亮。亮多少?(像素值,[0,255]),(默认值 5)

◆ aprilTagQuadDecimate

float cv::aruco::DetectorParameters::aprilTagQuadDecimate

April :: 用户可配置参数。

四边形检测可以在较低分辨率的图像上进行,以姿态精度为代价提高速度,并略微降低检测率。解码二进制负载仍然是

◆ aprilTagQuadSigma

float cv::aruco::DetectorParameters::aprilTagQuadSigma

应将何种高斯模糊应用于分割后的图像(用于四边形检测?)

◆ cornerRefinementMaxIterations

int cv::aruco::DetectorParameters::cornerRefinementMaxIterations

角点细化过程停止准则的最大迭代次数(默认值 30)。

◆ cornerRefinementMethod

int cv::aruco::DetectorParameters::cornerRefinementMethod

默认值 CORNER_REFINE_NONE

◆ cornerRefinementMinAccuracy

double cv::aruco::DetectorParameters::cornerRefinementMinAccuracy

角点细化过程停止准则的最小误差(默认值:0.1)

◆ cornerRefinementWinSize

int cv::aruco::DetectorParameters::cornerRefinementWinSize

角点细化过程的最大窗口大小(以像素为单位)(默认值 5)。

如果 ArUco 标记过小,窗口大小可能会减小,请检查 relativeCornerRefinmentWinSize。最终窗口大小的计算方式为:min(cornerRefinementWinSize, averageArucoModuleSize*relativeCornerRefinmentWinSize),其中 averageArucoModuleSize 是以像素为单位的 ArUco 标记的平均模块大小。(ArUco 标记由黑白模块组成)

◆ detectInvertedMarker

bool cv::aruco::DetectorParameters::detectInvertedMarker

检查是否存在白色标记。

为了生成“白色”标记,只需使用波浪号 ~markerImage 反转正常标记即可。(默认值 false)

◆ errorCorrectionRate

double cv::aruco::DetectorParameters::errorCorrectionRate

相对于每个字典的最大纠错能力的纠错率(默认值 0.6)。

◆ markerBorderBits

int cv::aruco::DetectorParameters::markerBorderBits

标记边框的位数,即标记边框宽度(默认值 1)。

◆ maxErroneousBitsInBorderRate

double cv::aruco::DetectorParameters::maxErroneousBitsInBorderRate

边框中允许的最大错误位数(即边框中允许的白色位数)。

表示为相对于每个标记总位数的比率(默认值 0.35)。

◆ maxMarkerPerimeterRate

double cv::aruco::DetectorParameters::maxMarkerPerimeterRate

确定要检测的标记轮廓的最大周长。

这被定义为相对于输入图像最大尺寸的比率(默认值 4.0)。

◆ minCornerDistanceRate

double cv::aruco::DetectorParameters::minCornerDistanceRate

检测到的标记角点之间相对于其周长的最小距离(默认值 0.05)

◆ minDistanceToBorder

int cv::aruco::DetectorParameters::minDistanceToBorder

检测到的标记的任何角点到图像边界的最小距离(以像素为单位)(默认值 3)

◆ minGroupDistance

float cv::aruco::DetectorParameters::minGroupDistance = 0.21f

组中两个标记角点之间的最小平均距离,用于将它们添加到候选列表

两个标记角点之间的平均距离是相对于其模块大小计算的(默认值 0.21)。

◆ minMarkerDistanceRate

double cv::aruco::DetectorParameters::minMarkerDistanceRate

要分组的两个标记角点之间的最小平均距离(默认值 0.125)。

该比率是相对于两个标记中较小周长计算的。如果两个标记角点之间的平均距离小于 min(MarkerPerimeter1, MarkerPerimeter2)*minMarkerDistanceRate,则将这两个标记分组。

默认值为 0.125,因为 0.125*标记周长 = (标记周长 / 4) * 0.5 = 标记边长的一半。

注意
默认值在 4.8.1 版本发布后从 0.05 更改,因为过滤算法已更改。现在,如果同一组中的几个候选对象彼此相距较远,则可以将它们添加到候选列表。
另请参见
minGroupDistance.

◆ minMarkerLengthRatioOriginalImg

float cv::aruco::DetectorParameters::minMarkerLengthRatioOriginalImg

范围 [0,1],论文中的公式 (2)。参数 tau_i 对处理速度有直接影响。

◆ minMarkerPerimeterRate

double cv::aruco::DetectorParameters::minMarkerPerimeterRate

确定要检测的标记轮廓的最小周长。

这被定义为相对于输入图像最大尺寸的比率(默认值 0.03)。

◆ minOtsuStdDev

double cv::aruco::DetectorParameters::minOtsuStdDev

在解码步骤中,像素值的最小标准差用于应用 Otsu 阈值处理(否则,所有位都根据均值是否高于 128 设置为 0 或 1)(默认值 5.0)

◆ minSideLengthCanonicalImg

int cv::aruco::DetectorParameters::minSideLengthCanonicalImg

规范图像中标记的最小边长。后者是搜索轮廓的二值化图像。

◆ perspectiveRemoveIgnoredMarginPerCell

double cv::aruco::DetectorParameters::perspectiveRemoveIgnoredMarginPerCell

每个单元格的像素边距宽度,不用于确定单元格位。

表示相对于单元格总大小的比率,即 perspectiveRemovePixelPerCell(默认值 0.13)。

◆ perspectiveRemovePixelPerCell

int cv::aruco::DetectorParameters::perspectiveRemovePixelPerCell

移除透视时,标记每个单元格的位数(每维度)(默认值 4)。

◆ polygonalApproxAccuracyRate

double cv::aruco::DetectorParameters::polygonalApproxAccuracyRate

多边形逼近过程中确定哪些轮廓是正方形的最小精度。(默认值 0.03)

◆ relativeCornerRefinmentWinSize

float cv::aruco::DetectorParameters::relativeCornerRefinmentWinSize

相对于 ArUco 模块大小的角点细化动态窗口大小(默认值 0.3)。

最终窗口大小的计算方式为:min(cornerRefinementWinSize, averageArucoModuleSize*relativeCornerRefinmentWinSize),其中 averageArucoModuleSize 是以像素为单位的 ArUco 标记的平均模块大小。(ArUco 标记由黑白模块组成)如果标记彼此相距较远,则将参数值增加到 0.4-0.5 可能会很有用。如果标记彼此靠近,则将参数值减小到 0.1-0.2 可能会很有用。

◆ useAruco3Detection

bool cv::aruco::DetectorParameters::useAruco3Detection

启用新的、更快的 ArUco 检测策略。

论文中提出:Romero-Ramirez 等人:方格基准标记的加速检测 (2018) https://www.researchgate.net/publication/325787310_Speeded_Up_Detection_of_Squared_Fiducial_Markers


此结构体的文档由以下文件生成