OpenCV 4.11.0
开源计算机视觉
|
结构体 DetectorParameters 由 ArucoDetector 使用 更多…
#include <opencv2/objdetect/aruco_detector.hpp>
公共成员函数 | |
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 阈值时的最小标准差(否则,所有位都设置为 0 或 1,具体取决于均值高于 128 或低于 128)(默认值 5.0) | |
int | minSideLengthCanonicalImg |
规范图像中标记的最小边长。后者是在其中搜索轮廓的二值化图像。 | |
double | perspectiveRemoveIgnoredMarginPerCell |
每个单元格中未考虑用于确定单元格位的像素边距宽度。 | |
int | perspectiveRemovePixelPerCell |
去除透视时每个标记单元格的位数(每个维度)(默认值 4)。 | |
double | polygonalApproxAccuracyRate |
多边形逼近过程中确定哪些轮廓是正方形的最小精度。(默认值 0.03) | |
float | relativeCornerRefinmentWinSize |
相对于 Aruco 模块大小的角点细化动态窗口大小(默认值 0.3)。 | |
bool | useAruco3Detection |
启用新的、更快的 Aruco 检测策略。 | |
结构体 DetectorParameters 由 ArucoDetector 使用
|
内联 |
bool cv::aruco::DetectorParameters::readDetectorParameters | ( | const FileNode & | fn | ) |
从 FileNode 读取一组新的 DetectorParameters(使用 FileStorage.root())。
bool cv::aruco::DetectorParameters::writeDetectorParameters | ( | FileStorage & | fs, |
const String & | name = String() ) |
将一组 DetectorParameters 写入 FileStorage。
double cv::aruco::DetectorParameters::adaptiveThreshConstant |
查找轮廓之前自适应阈值的常数(默认值 7)
int cv::aruco::DetectorParameters::adaptiveThreshWinSizeMax |
查找轮廓之前自适应阈值的最大窗口大小(默认值 23)。
int cv::aruco::DetectorParameters::adaptiveThreshWinSizeMin |
查找轮廓之前自适应阈值的最小窗口大小(默认值 3)。
int cv::aruco::DetectorParameters::adaptiveThreshWinSizeStep |
阈值过程中 adaptiveThreshWinSizeMin 到 adaptiveThreshWinSizeMax 的增量(默认值 10)。
float cv::aruco::DetectorParameters::aprilTagCriticalRad |
拒绝边对角接近直角或接近 180 度的四边形。
值为零表示不拒绝任何四边形。(以弧度为单位)(默认值 10*PI/180)
int cv::aruco::DetectorParameters::aprilTagDeglitch |
是否应去除阈值图像的毛刺?仅对非常嘈杂的图像有用(默认值 0)。
float cv::aruco::DetectorParameters::aprilTagMaxLineFitMse |
将线拟合到轮廓时,最大均方误差是多少
int cv::aruco::DetectorParameters::aprilTagMaxNmaxima |
将像素组分割成四边形时要考虑的角点候选数(默认值 10)。
int cv::aruco::DetectorParameters::aprilTagMinClusterPixels |
拒绝包含过少像素的四边形(默认值 5)。
int cv::aruco::DetectorParameters::aprilTagMinWhiteBlackDiff |
额外检查白色模型必须(整体)比黑色模型亮。
当我们构建黑白像素模型时,我们添加一个额外的检查,即白色模型必须(整体上)比黑色模型更亮。亮多少?(以像素值为单位,[0,255]),(默认值 5)
float cv::aruco::DetectorParameters::aprilTagQuadDecimate |
April :: 用户可配置参数。
四边形的检测可以在较低分辨率的图像上进行,从而提高速度,但会以姿态精度和检测率略微下降为代价。二进制有效载荷的解码仍然
float cv::aruco::DetectorParameters::aprilTagQuadSigma |
应将什么高斯模糊应用于分割图像(用于四边形检测?)
int cv::aruco::DetectorParameters::cornerRefinementMaxIterations |
角点细化过程停止条件的最大迭代次数(默认值 30)。
int cv::aruco::DetectorParameters::cornerRefinementMethod |
默认值 CORNER_REFINE_NONE
double cv::aruco::DetectorParameters::cornerRefinementMinAccuracy |
角点细化过程停止条件的最小误差(默认值:0.1)
int cv::aruco::DetectorParameters::cornerRefinementWinSize |
角点细化过程的最大窗口大小(以像素为单位)(默认值 5)。
如果 ArUco 标记太小,窗口大小可能会减小,请检查 relativeCornerRefinmentWinSize。最终窗口大小计算如下:min(cornerRefinementWinSize, averageArucoModuleSize*relativeCornerRefinmentWinSize),其中 averageArucoModuleSize 是 ArUco 标记在像素中的平均模块大小。(ArUco 标记由黑色和白色模块组成)
bool cv::aruco::DetectorParameters::detectInvertedMarker |
检查是否存在白色标记。
为了生成“白色”标记,只需使用波浪号 ~markerImage 反转普通标记即可。(默认值为 false)
double cv::aruco::DetectorParameters::errorCorrectionRate |
相对于每个字典的最大纠错能力的纠错率(默认值 0.6)。
int cv::aruco::DetectorParameters::markerBorderBits |
标记边界的位数,即标记边界宽度(默认值 1)。
double cv::aruco::DetectorParameters::maxErroneousBitsInBorderRate |
边界中可接受的错误位数最大值(即边界中允许的白色位数)。
表示相对于每个标记的总位数的比率(默认值 0.35)。
double cv::aruco::DetectorParameters::maxMarkerPerimeterRate |
确定要检测的标记轮廓的最大周长。
这定义为相对于输入图像最大尺寸的比率(默认值 4.0)。
double cv::aruco::DetectorParameters::minCornerDistanceRate |
检测到的标记的角点之间的最小距离与其周长的相对值(默认值 0.05)
int cv::aruco::DetectorParameters::minDistanceToBorder |
检测到的标记的任何角点到图像边界的最小距离(以像素为单位)(默认值 3)
float cv::aruco::DetectorParameters::minGroupDistance = 0.21f |
将两个标记的角点添加到候选列表中的最小平均距离
两个标记的角之间的平均距离相对于其模块大小计算(默认值 0.21)。
double cv::aruco::DetectorParameters::minMarkerDistanceRate |
要分组的两个标记的角点之间的最小平均距离(默认值 0.125)。
该比率相对于两个标记中较小的周长。如果两个标记的角之间的平均距离小于 min(MarkerPerimeter1, MarkerPerimeter2)*minMarkerDistanceRate,则将这两个标记分组。
默认值为 0.125,因为 0.125*MarkerPerimeter = (MarkerPerimeter / 4) * 0.5 = 标记的一半边长。
float cv::aruco::DetectorParameters::minMarkerLengthRatioOriginalImg |
范围 [0,1],论文中的等式 (2)。参数 tau_i 对处理速度有直接影响。
double cv::aruco::DetectorParameters::minMarkerPerimeterRate |
确定要检测的标记轮廓的最小周长。
这定义为相对于输入图像最大尺寸的比率(默认值 0.03)。
double cv::aruco::DetectorParameters::minOtsuStdDev |
解码步骤中像素值在应用 Otsu 阈值时的最小标准差(否则,所有位都设置为 0 或 1,具体取决于均值高于 128 或低于 128)(默认值 5.0)
int cv::aruco::DetectorParameters::minSideLengthCanonicalImg |
规范图像中标记的最小边长。后者是在其中搜索轮廓的二值化图像。
double cv::aruco::DetectorParameters::perspectiveRemoveIgnoredMarginPerCell |
每个单元格中未考虑用于确定单元格位的像素边距宽度。
表示相对于单元格总大小的比率,即 perspectiveRemovePixelPerCell(默认值 0.13)
int cv::aruco::DetectorParameters::perspectiveRemovePixelPerCell |
去除透视时每个标记单元格的位数(每个维度)(默认值 4)。
double cv::aruco::DetectorParameters::polygonalApproxAccuracyRate |
多边形逼近过程中确定哪些轮廓是正方形的最小精度。(默认值 0.03)
float cv::aruco::DetectorParameters::relativeCornerRefinmentWinSize |
相对于 Aruco 模块大小的角点细化动态窗口大小(默认值 0.3)。
最终窗口大小计算如下:min(cornerRefinementWinSize, averageArucoModuleSize*relativeCornerRefinmentWinSize),其中 averageArucoModuleSize 是 ArUco 标记在像素中的平均模块大小。(ArUco 标记由黑色和白色模块组成)对于位置相距较远的标记,将参数值增加到 0.4-0.5 可能会有用。对于位置相距较近的标记,将参数值减小到 0.1-0.2 可能会有用。
bool cv::aruco::DetectorParameters::useAruco3Detection |
启用新的、更快的 Aruco 检测策略。
在论文中提出:Romero-Ramirez 等人:加速方形基准标记的检测 (2018) https://www.researchgate.net/publication/325787310_Speeded_Up_Detection_of_Squared_Fiducial_Markers