ArucoDetector クラスの主な機能は、detectMarkers() メソッドによる画像内のマーカー検出である。 続き...
#include <opencv2/objdetect/aruco_detector.hpp>
|
| | ArucoDetector (const Dictionary &dictionary=getPredefinedDictionary(cv::aruco::DICT_4X4_50), const DetectorParameters &detectorParams=DetectorParameters(), const RefineParameters &refineParams=RefineParameters()) |
| | 基本的な ArucoDetector コンストラクタ。
|
| |
| | ArucoDetector (const std::vector< Dictionary > &dictionaries, const DetectorParameters &detectorParams=DetectorParameters(), const RefineParameters &refineParams=RefineParameters()) |
| | 複数辞書用の ArucoDetector コンストラクタ。
|
| |
| void | detectMarkers (InputArray image, OutputArrayOfArrays corners, OutputArray ids, OutputArrayOfArrays rejectedImgPoints=noArray()) const |
| | 基本的なマーカー検出。
|
| |
| void | detectMarkersMultiDict (InputArray image, OutputArrayOfArrays corners, OutputArray ids, OutputArrayOfArrays rejectedImgPoints=noArray(), OutputArray dictIndices=noArray()) const |
| | 基本的なマーカー検出。
|
| |
| void | detectMarkersWithConfidence (InputArray image, OutputArrayOfArrays corners, OutputArray ids, OutputArray markersConfidence, OutputArrayOfArrays rejectedImgPoints=noArray()) const |
| | 信頼度計算を伴うマーカー検出。
|
| |
| const DetectorParameters & | getDetectorParameters () const |
| |
| std::vector< Dictionary > | getDictionaries () const |
| | マーカー検出に現在使用されているすべての辞書をベクトルとして返す。
|
| |
| const Dictionary & | getDictionary () const |
| | マーカー検出に使用される内部リストの最初の辞書を返す。
|
| |
| const RefineParameters & | getRefineParameters () const |
| |
| virtual void | read (const FileNode &fn) override |
| | ファイルストレージからアルゴリズムの引数を読み込む。
|
| |
| void | refineDetectedMarkers (InputArray image, const Board &board, InputOutputArrayOfArrays detectedCorners, InputOutputArray detectedIds, InputOutputArrayOfArrays rejectedCorners, InputArray cameraMatrix=noArray(), InputArray distCoeffs=noArray(), OutputArray recoveredIdxs=noArray()) const |
| | すでに検出されたマーカーとボード配置に基づいて、検出されなかったマーカーを精緻化する。
|
| |
| void | setDetectorParameters (const DetectorParameters &detectorParameters) |
| |
| void | setDictionaries (const std::vector< Dictionary > &dictionaries) |
| | 既存の辞書を置き換え、マーカー検出に使用する辞書のコレクション全体を設定する。
|
| |
| void | setDictionary (const Dictionary &dictionary) |
| | マーカー検出に使用する内部リストの最初の辞書を設定し置き換える。
|
| |
| void | setRefineParameters (const RefineParameters &refineParameters) |
| |
| virtual void | write (FileStorage &fs) const override |
| | アルゴリズムの引数をファイルストレージに保存する。
|
| |
| void | write (FileStorage &fs, const String &name) |
| | 言語バインディング向けの簡易API
|
| |
| | Algorithm () |
| |
| virtual | ~Algorithm () |
| |
| virtual void | clear () |
| | アルゴリズムの状態をクリアする。
|
| |
| virtual bool | empty () const |
| | Algorithm が空の場合(たとえば開始直後や読み込みに失敗した後)に true を返す。
|
| |
| virtual String | getDefaultName () const |
| |
| virtual void | save (const String &filename) const |
| |
| void | write (const Ptr< FileStorage > &fs, const String &name=String()) const |
| |
| void | write (FileStorage &fs, const String &name) const |
| |
ArucoDetector クラスの主な機能は、detectMarkers() メソッドによる画像内のマーカー検出である。
画像内のいくつかのマーカーを検出した後、refineDetectedMarkers() メソッドを使って、この辞書から未検出のマーカーを見つけることを試みることができる。
- 参照
- DetectorParameters, RefineParameters
◆ ArucoDetector() [1/2]
| Python: |
|---|
| cv.aruco.ArucoDetector( | [, dictionary[, detectorParams[, refineParams]]] | ) -> | <aruco_ArucoDetector object> |
| cv.aruco.ArucoDetector( | dictionaries[, detectorParams[, refineParams]] | ) -> | <aruco_ArucoDetector object> |
基本的な ArucoDetector コンストラクタ。
- 引数
-
| dictionary | 検索するマーカーの種類を指定する |
| detectorParams | マーカー検出のパラメータ |
| refineParams | マーカーの再検出のパラメータ |
◆ ArucoDetector() [2/2]
| Python: |
|---|
| cv.aruco.ArucoDetector( | [, dictionary[, detectorParams[, refineParams]]] | ) -> | <aruco_ArucoDetector object> |
| cv.aruco.ArucoDetector( | dictionaries[, detectorParams[, refineParams]] | ) -> | <aruco_ArucoDetector object> |
複数辞書用の ArucoDetector コンストラクタ。
- 引数
-
| dictionaries | 検索するマーカーの種類を指定する。空の辞書はエラーを発生させる。 |
| detectorParams | マーカー検出のパラメータ |
| refineParams | マーカーの再検出のパラメータ |
◆ detectMarkers()
| Python: |
|---|
| cv.aruco.ArucoDetector.detectMarkers( | image[, corners[, ids[, rejectedImgPoints]]] | ) -> | corners, ids, rejectedImgPoints |
基本的なマーカー検出。
- 引数
-
| image | 入力画像 |
| corners | 検出されたマーカーのコーナーのベクトル。各マーカーについて、その4つのコーナーが与えられる(例: std::vector<std::vector<cv::Point2f> >)。N個のマーカーが検出された場合、この配列の次元は Nx4 となる。コーナーの順序は時計回りである。 |
| ids | 検出されたマーカーの識別子のベクトル。識別子の型は int である(例: std::vector<int>)。N個のマーカーが検出された場合、ids のサイズも N となる。識別子は imgPoints 配列内のマーカーと同じ順序である。 |
| rejectedImgPoints | 内部コードに正しい符号化がなされていない正方形の imgPoints を格納する。デバッグ目的に有用である。 |
入力画像内でマーカー検出を実行する。最初に指定された辞書に含まれるマーカーのみが探索される。検出された各マーカーについて、画像内のコーナーの2D位置と対応する識別子を返す。この関数は姿勢推定を行わないことに注意する。
- 覚え書き
- この関数はレンズ歪みを補正せず、考慮もしない。カメラの引数が既知であれば、対応するカメラモデルで入力画像の歪みを除去することを推奨する。
- 参照
- undistort, estimatePoseSingleMarkers, estimatePoseBoard
◆ detectMarkersMultiDict()
| Python: |
|---|
| cv.aruco.ArucoDetector.detectMarkersMultiDict( | image[, corners[, ids[, rejectedImgPoints[, dictIndices]]]] | ) -> | corners, ids, rejectedImgPoints, dictIndices |
基本的なマーカー検出。
- 引数
-
| image | 入力画像 |
| corners | 検出されたマーカーのコーナーのベクトル。各マーカーについて、その4つのコーナーが与えられる(例: std::vector<std::vector<cv::Point2f> >)。N個のマーカーが検出された場合、この配列の次元は Nx4 となる。コーナーの順序は時計回りである。 |
| ids | 検出されたマーカーの識別子のベクトル。識別子の型は int である(例: std::vector<int>)。N個のマーカーが検出された場合、ids のサイズも N となる。識別子は imgPoints 配列内のマーカーと同じ順序である。 |
| rejectedImgPoints | 内部コードに正しい符号化がなされていない正方形の imgPoints を格納する。デバッグ目的に有用である。 |
| dictIndices | 検出された各マーカーに対応する辞書インデックスのベクトル。対応する辞書のリストを取得するには getDictionaries() を使用する。 |
入力画像内でマーカー検出を実行する。指定された辞書群に含まれるマーカーのみが探索される。検出された各マーカーについて、画像内のコーナーの2D位置と対応する識別子を返す。この関数は姿勢推定を行わないことに注意する。
- 覚え書き
- この関数はレンズ歪みを補正せず、考慮もしない。カメラの引数が既知であれば、対応するカメラモデルで入力画像の歪みを除去することを推奨する。
- 参照
- undistort, estimatePoseSingleMarkers, estimatePoseBoard
◆ detectMarkersWithConfidence()
| Python: |
|---|
| cv.aruco.ArucoDetector.detectMarkersWithConfidence( | image[, corners[, ids[, markersConfidence[, rejectedImgPoints]]]] | ) -> | corners, ids, markersConfidence, rejectedImgPoints |
信頼度計算を伴うマーカー検出。
- 引数
-
| image | 入力画像 |
| corners | 検出されたマーカーのコーナーのベクトル。各マーカーについて、その4つのコーナーが与えられる(例: std::vector<std::vector<cv::Point2f> >)。N個のマーカーが検出された場合、この配列の次元は Nx4 となる。コーナーの順序は時計回りである。 |
| ids | 検出されたマーカーの識別子のベクトル。識別子の型は int である(例: std::vector<int>)。N個のマーカーが検出された場合、ids のサイズも N となる。識別子は imgPoints 配列内のマーカーと同じ順序である。 |
| markersConfidence | マーカー検出の正規化された信頼度 [0;1] を保持する。正規化された不確実性(誤ったピクセル検出の割合)を1から引いた値として定義され、1はピクセル単位で完全な検出を表す。信頼度の値は float 型である(例: std::vector<float>) |
| rejectedImgPoints | 内部コードに正しい符号化がなされていない正方形の imgPoints を格納する。デバッグ目的に有用である。 |
入力画像内でマーカー検出を実行する。最初に指定された辞書に含まれるマーカーのみが探索される。検出された各マーカーについて、画像内のコーナーの2D位置と対応する識別子を返す。この関数は姿勢推定を行わないことに注意する。
- 覚え書き
- この関数はレンズ歪みを補正せず、考慮もしない。カメラの引数が既知であれば、対応するカメラモデルで入力画像の歪みを除去することを推奨する。
- 参照
- undistort, estimatePoseSingleMarkers, estimatePoseBoard
◆ getDetectorParameters()
| Python: |
|---|
| cv.aruco.ArucoDetector.getDetectorParameters( | | ) -> | retval |
◆ getDictionaries()
| std::vector< Dictionary > cv::aruco::ArucoDetector::getDictionaries |
( |
| ) |
const |
| Python: |
|---|
| cv.aruco.ArucoDetector.getDictionaries( | | ) -> | retval |
マーカー検出に現在使用されているすべての辞書をベクトルとして返す。
- 戻り値
- ArucoDetector が使用するすべての辞書を格納した std::vector<Dictionary>。
◆ getDictionary()
| const Dictionary & cv::aruco::ArucoDetector::getDictionary |
( |
| ) |
const |
| Python: |
|---|
| cv.aruco.ArucoDetector.getDictionary( | | ) -> | retval |
◆ getRefineParameters()
| const RefineParameters & cv::aruco::ArucoDetector::getRefineParameters |
( |
| ) |
const |
| Python: |
|---|
| cv.aruco.ArucoDetector.getRefineParameters( | | ) -> | retval |
◆ read()
| virtual void cv::aruco::ArucoDetector::read |
( |
const FileNode & | fn | ) |
|
|
overridevirtual |
| Python: |
|---|
| cv.aruco.ArucoDetector.read( | fn | ) -> | None |
◆ refineDetectedMarkers()
| Python: |
|---|
| cv.aruco.ArucoDetector.refineDetectedMarkers( | image, board, detectedCorners, detectedIds, rejectedCorners[, cameraMatrix[, distCoeffs[, recoveredIdxs]]] | ) -> | detectedCorners, detectedIds, rejectedCorners, recoveredIdxs |
すでに検出されたマーカーとボード配置に基づいて、検出されなかったマーカーを精緻化する。
- 引数
-
| image | 入力画像 |
| board | ボード内のマーカーの配置。 |
| detectedCorners | すでに検出されたマーカーコーナーのベクトル。 |
| detectedIds | すでに検出されたマーカー識別子のベクトル。 |
| rejectedCorners | マーカー検出処理中に棄却された候補のベクトル。 |
| cameraMatrix | 省略可能な入力 3x3 浮動小数点カメラ行列 \(A = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\) |
| distCoeffs | 4、5、8、または12要素からなる省略可能な歪み係数のベクトル \((k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6],[s_1, s_2, s_3, s_4]])\) |
| recoveredIdxs | 復元された候補の、元の rejectedCorners 配列におけるインデックスを返すための省略可能な配列。 |
この関数は、基本的な detecMarkers 関数で検出されなかったマーカーを見つけることを試みる。まず、現在検出されているマーカーとボード配置に基づいて、欠落しているマーカーの位置を補間する。次に、minRepDistance と errorCorrectionRate 引数に基づいて、再投影されたマーカーと棄却された候補との対応を見つけることを試みる。カメラの引数と歪み係数が与えられている場合、欠落しているマーカーは projectPoint 関数を用いて再投影される。与えられていない場合、欠落しているマーカーの投影はグローバルホモグラフィを用いて補間され、ボード内のすべてのマーカーコーナーは同じZ座標を持つ必要がある。
- 覚え書き
- この関数は、ボードが1つの辞書のマーカーのみを含むことを前提とするため、最初に設定された辞書のみが使用される。正しく動作するためには、ボードの辞書と一致している必要がある。
◆ setDetectorParameters()
| void cv::aruco::ArucoDetector::setDetectorParameters |
( |
const DetectorParameters & | detectorParameters | ) |
|
| Python: |
|---|
| cv.aruco.ArucoDetector.setDetectorParameters( | detectorParameters | ) -> | None |
◆ setDictionaries()
| void cv::aruco::ArucoDetector::setDictionaries |
( |
const std::vector< Dictionary > & | dictionaries | ) |
|
| Python: |
|---|
| cv.aruco.ArucoDetector.setDictionaries( | dictionaries | ) -> | None |
既存の辞書を置き換え、マーカー検出に使用する辞書のコレクション全体を設定する。
- 引数
-
| dictionaries | 使用する新しい辞書のセットを格納した std::vector<Dictionary>。 |
マーカー検出に、与えられた辞書のベクトルを使用するように ArucoDetector を設定する。このメソッドは、以前に設定されたすべての辞書を置き換える。
- 覚え書き
- 空の辞書ベクトルを設定するとエラーがスローされる。
◆ setDictionary()
| void cv::aruco::ArucoDetector::setDictionary |
( |
const Dictionary & | dictionary | ) |
|
| Python: |
|---|
| cv.aruco.ArucoDetector.setDictionary( | dictionary | ) -> | None |
マーカー検出に使用する内部リストの最初の辞書を設定し置き換える。
- 引数
-
| dictionary | 内部リストの最初の辞書を置き換える新しい辞書。 |
◆ setRefineParameters()
| void cv::aruco::ArucoDetector::setRefineParameters |
( |
const RefineParameters & | refineParameters | ) |
|
| Python: |
|---|
| cv.aruco.ArucoDetector.setRefineParameters( | refineParameters | ) -> | None |
◆ write() [1/2]
| virtual void cv::aruco::ArucoDetector::write |
( |
FileStorage & | fs | ) |
const |
|
overridevirtual |
| Python: |
|---|
| cv.aruco.ArucoDetector.write( | fs, name | ) -> | None |
◆ write() [2/2]
| Python: |
|---|
| cv.aruco.ArucoDetector.write( | fs, name | ) -> | None |
◆ arucoDetectorImpl
| Ptr<ArucoDetectorImpl> cv::aruco::ArucoDetector::arucoDetectorImpl |
|
protected |
このクラス詳解は次のファイルから抽出されました: