![]() |
OpenCV 4.12.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 阈值处理(否则,所有位都根据均值是否高于 128 设置为 0 或 1)(默认值 5.0) | |
| int | minSideLengthCanonicalImg |
| 规范图像中标记的最小边长。后者是搜索轮廓的二值化图像。 | |
| double | perspectiveRemoveIgnoredMarginPerCell |
| 每个单元格的像素边距宽度,不用于确定单元格位。 | |
| int | perspectiveRemovePixelPerCell |
| 移除透视时,标记每个单元格的位数(每维度)(默认值 4)。 | |
| double | polygonalApproxAccuracyRate |
| 多边形逼近过程中确定哪些轮廓是正方形的最小精度。(默认值 0.03) | |
| float | relativeCornerRefinmentWinSize |
| 相对于 ArUco 模块大小的角点细化动态窗口大小(默认值 0.3)。 | |
| bool | useAruco3Detection |
| 启用新的、更快的 ArUco 检测策略。 | |
结构体 DetectorParameters 由 ArucoDetector 使用
|
inline |
| 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*标记周长 = (标记周长 / 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 阈值处理(否则,所有位都根据均值是否高于 128 设置为 0 或 1)(默认值 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