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