![]() |
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