![]() |
OpenCV 4.13.0
Open Source Computer Vision
|
struct 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 |
| グループ内の2つのマーカーを候補リストに追加するための、両マーカーのコーナー間の最小平均距離。 | |
| double | minMarkerDistanceRate |
| 2つのマーカーをグループ化するための、両マーカーのコーナー間の最小平均距離(デフォルト0.125)。 | |
| float | minMarkerLengthRatioOriginalImg |
| 範囲[0,1]、論文の式(2)。パラメータ tau_i は処理速度に直接影響する。 | |
| double | minMarkerPerimeterRate |
| 検出対象とするマーカー輪郭の最小周長を決定する。 | |
| double | minOtsuStdDev |
| デコード段階で大津のしきい値処理を適用するための、ピクセル値の最小標準偏差(これを下回る場合、平均が128より大きいかどうかに応じて全ビットが0または1に設定される)(デフォルト5.0)。 | |
| int | minSideLengthCanonicalImg |
| 正準画像におけるマーカーの最小辺長。後者は輪郭を探索する対象となる二値化画像である。 | |
| double | perspectiveRemoveIgnoredMarginPerCell |
| セルビットの判定に考慮しない、各セルの周囲のピクセルのマージン幅。 | |
| int | perspectiveRemovePixelPerCell |
| 透視変換を除去した際の、マーカーの各セルあたりの(次元ごとの)ビット数(デフォルト4)。 | |
| double | polygonalApproxAccuracyRate |
| どの輪郭が四角形かを判定する多角形近似処理における最小精度(デフォルト0.03)。 | |
| float | relativeCornerRefinmentWinSize |
| Arucoモジュールサイズに対するコーナー精緻化用の動的ウィンドウサイズ(デフォルト0.3)。 | |
| bool | useAruco3Detection |
| 新しく高速なAruco検出戦略を有効にする。 | |
struct 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 |
境界において許容される誤ったビットの最大数(すなわち境界において許容される白ビットの数)。
マーカー1個あたりの総ビット数に対する率として表される(デフォルト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 |
グループ内の2つのマーカーを候補リストに追加するための、両マーカーのコーナー間の最小平均距離
2つのマーカーのコーナー間の平均距離は、そのモジュールサイズに対して相対的に計算される(デフォルト0.21)。
| double cv::aruco::DetectorParameters::minMarkerDistanceRate |
グループ化するための、2つのマーカーのコーナー間の最小平均距離(デフォルト0.125)。
この率は2つのマーカーのうち小さい方の周囲長に対して相対的である。2つのマーカーのコーナー間の平均距離が min(MarkerPerimeter1, MarkerPerimeter2)*minMarkerDistanceRate より小さい場合、2つのマーカーはグループ化される。
デフォルト値が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 |
デコード処理中に大津のしきい値処理を適用するための、ピクセル値の最小標準偏差(そうでない場合、平均が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 et al: Speeded up detection of squared fiducial markers (2018) https://www.researchgate.net/publication/325787310_Speeded_Up_Detection_of_Squared_Fiducial_Markers