OpenCV 5.0.0
Open Source Computer Vision
読み込み中...
検索中...
見つかりません
🤖 AIによる機械翻訳(非公式) — これは OpenCV 5.0.0 公式リファレンス(英語)を AI (Claude) で自動翻訳したものです。訳に誤りを含む場合があります。正確な情報は 公式英語版(原文) を参照してください。

#include <opencv2/objdetect/charuco_detector.hpp>

Collaboration diagram for cv::aruco::CharucoDetector:

公開メンバ関数

 CharucoDetector (const CharucoBoard &board, const CharucoParameters &charucoParams=CharucoParameters(), const DetectorParameters &detectorParams=DetectorParameters(), const RefineParameters &refineParams=RefineParameters())
 基本的な CharucoDetector のコンストラクタ。
 
void detectBoard (InputArray image, OutputArray charucoCorners, OutputArray charucoIds, InputOutputArrayOfArrays markerCorners=noArray(), InputOutputArray markerIds=noArray()) const
 arucoマーカーを検出し、ChArUcoボードコーナーの位置を補間する
 
void detectDiamonds (InputArray image, OutputArrayOfArrays diamondCorners, OutputArray diamondIds, InputOutputArrayOfArrays markerCorners=noArray(), InputOutputArray markerIds=noArray()) const
 ChArUco Diamondマーカーを検出する。
 
const CharucoBoardgetBoard () const
 
const CharucoParametersgetCharucoParameters () const
 
const DetectorParametersgetDetectorParameters () const
 
const RefineParametersgetRefineParameters () const
 
void setBoard (const CharucoBoard &board)
 
void setCharucoParameters (CharucoParameters &charucoParameters)
 
void setDetectorParameters (const DetectorParameters &detectorParameters)
 
void setRefineParameters (const RefineParameters &refineParameters)
 
- Public Member Functions inherited from cv::Algorithm
 Algorithm ()
 
virtual ~Algorithm ()
 
virtual void clear ()
 アルゴリズムの状態をクリアする。
 
virtual bool empty () const
 Algorithm が空の場合(たとえば開始直後や読み込みに失敗した後)に true を返す。
 
virtual String getDefaultName () const
 
virtual void read (const FileNode &fn)
 ファイルストレージからアルゴリズムの引数を読み込む。
 
virtual void save (const String &filename) const
 
virtual void write (FileStorage &fs) const
 アルゴリズムの引数をファイルストレージに保存する。
 
void write (FileStorage &fs, const String &name) const
 

限定公開変数類

Ptr< CharucoDetectorImpl > charucoDetectorImpl
 

Additional Inherited Members

- Static Public Member Functions inherited from cv::Algorithm
template<typename _Tp >
static Ptr< _Tpload (const String &filename, const String &objname=String())
 ファイルからアルゴリズムを読み込む。
 
template<typename _Tp >
static Ptr< _TploadFromString (const String &strModel, const String &objname=String())
 文字列からアルゴリズムを読み込む。
 
template<typename _Tp >
static Ptr< _Tpread (const FileNode &fn)
 ファイルノードからアルゴリズムを読み込む。
 
- Protected Member Functions inherited from cv::Algorithm
void writeFormat (FileStorage &fs) const
 

構築子と解体子の詳解

◆ CharucoDetector()

cv::aruco::CharucoDetector::CharucoDetector ( const CharucoBoard & board,
const CharucoParameters & charucoParams = CharucoParameters(),
const DetectorParameters & detectorParams = DetectorParameters(),
const RefineParameters & refineParams = RefineParameters() )
Python:
cv.aruco.CharucoDetector(board[, charucoParams[, detectorParams[, refineParams]]]) -> <aruco_CharucoDetector object>

基本的な CharucoDetector のコンストラクタ。

引数
boardChArUcoボード
charucoParamscharuco検出パラメータ
detectorParamsマーカー検出のパラメータ
refineParamsマーカーの再検出のパラメータ

メンバ関数詳解

◆ detectBoard()

void cv::aruco::CharucoDetector::detectBoard ( InputArray image,
OutputArray charucoCorners,
OutputArray charucoIds,
InputOutputArrayOfArrays markerCorners = noArray(),
InputOutputArray markerIds = noArray() ) const
Python:
cv.aruco.CharucoDetector.detectBoard(image[, charucoCorners[, charucoIds[, markerCorners[, markerIds]]]]) -> charucoCorners, charucoIds, markerCorners, markerIds

arucoマーカーを検出し、ChArUcoボードコーナーの位置を補間する

引数
imageコーナーの精緻化に必要な入力画像。マーカーは検出されないため、corners および ids パラメータで渡す必要がある点に注意する。
charucoCorners補間されたチェスボードのコーナー。
charucoIds補間されたチェスボードコーナーの識別子。
markerCorners既に検出されたマーカーのコーナーのベクトル。各マーカーについて、その4つのコーナーが与えられる(例: std::vector<std::vector<cv::Point2f> > )。N個のマーカーが検出された場合、この配列の次元はNx4となる。コーナーの順序は時計回りとする。markerCorners と markerCorners が空の場合、この関数はarucoマーカーとidsを検出する。
markerIdscorners 内の各マーカーに対する識別子のリスト。markerCorners と markerCorners が空の場合、この関数はarucoマーカーとidsを検出する。

この関数は検出されたマーカーを受け取り、検出されたArucoマーカーを用いてChArUcoボード上のチェスボードコーナーの2D位置を返す。

markerCorners と markerCorners が空の場合、detectMarkers() が実行され、ArUco マーカーと ID を検出する。

カメラパラメータが与えられた場合、処理は近似的な姿勢推定に基づき、そうでない場合は局所ホモグラフィに基づく。可視のコーナーのみが返される。各コーナーについて、対応する識別子も charucoIds として返される。

参照
findChessboardCorners
覚え書き
OpenCV 4.6.0以降、偶数行数の場合のChArUcoパターン生成アルゴリズムに非互換な変更があった。OpenCV 4.6.0より前のバージョンで作成されたパターンとの互換性を確保するには cv::aruco::CharucoBoard::setLegacyPattern() を使用する。詳細はこのissueを参照: https://github.com/opencv/opencv/issues/23152
この関数の呼び出しグラフ:

◆ detectDiamonds()

void cv::aruco::CharucoDetector::detectDiamonds ( InputArray image,
OutputArrayOfArrays diamondCorners,
OutputArray diamondIds,
InputOutputArrayOfArrays markerCorners = noArray(),
InputOutputArray markerIds = noArray() ) const
Python:
cv.aruco.CharucoDetector.detectDiamonds(image[, diamondCorners[, diamondIds[, markerCorners[, markerIds]]]]) -> diamondCorners, diamondIds, markerCorners, markerIds

ChArUco ダイヤモンドマーカーを検出する。

引数
imageコーナーのサブピクセル処理に必要な入力画像。
diamondCorners検出されたダイヤモンドコーナーの出力リスト(ダイヤモンドごとに4コーナー)。順序はマーカーコーナーと同じで、左上、右上、右下、左下となる。detectMarkers が返すコーナーと同様の形式である(例: std::vector<std::vector<cv::Point2f> > )。
diamondIdsdiamondCorners 内のダイヤモンドの id。各ダイヤモンドの id は実際には Vec4i 型であり、各ダイヤモンドは4つの id を持つ。これらはダイヤモンドを構成する aruco マーカーの id である。
markerCornersdetectMarkers関数で検出されたマーカーコーナーのリスト。markerCorners と markerCorners が空の場合、この関数はarucoマーカーとidsを検出する。
markerIdsmarkerCorners 内のマーカーidのリスト。markerCorners と markerCorners が空の場合、この関数はarucoマーカーとidsを検出する。

この関数は、事前に検出された ArUco マーカーからダイヤモンドマーカーを検出する。ダイヤモンドは diamondCorners および diamondIds パラメータで返される。カメラキャリブレーションパラメータが与えられた場合、ダイヤモンドの探索は再投影に基づく。与えられない場合、ダイヤモンドの探索はホモグラフィに基づく。ホモグラフィは再投影より高速だが、精度は劣る。

この関数の呼び出しグラフ:

◆ getBoard()

const CharucoBoard & cv::aruco::CharucoDetector::getBoard ( ) const
Python:
cv.aruco.CharucoDetector.getBoard() -> retval

◆ getCharucoParameters()

const CharucoParameters & cv::aruco::CharucoDetector::getCharucoParameters ( ) const
Python:
cv.aruco.CharucoDetector.getCharucoParameters() -> retval

◆ getDetectorParameters()

const DetectorParameters & cv::aruco::CharucoDetector::getDetectorParameters ( ) const
Python:
cv.aruco.CharucoDetector.getDetectorParameters() -> retval

◆ getRefineParameters()

const RefineParameters & cv::aruco::CharucoDetector::getRefineParameters ( ) const
Python:
cv.aruco.CharucoDetector.getRefineParameters() -> retval

◆ setBoard()

void cv::aruco::CharucoDetector::setBoard ( const CharucoBoard & board)
Python:
cv.aruco.CharucoDetector.setBoard(board) -> None

◆ setCharucoParameters()

void cv::aruco::CharucoDetector::setCharucoParameters ( CharucoParameters & charucoParameters)
Python:
cv.aruco.CharucoDetector.setCharucoParameters(charucoParameters) -> None

◆ setDetectorParameters()

void cv::aruco::CharucoDetector::setDetectorParameters ( const DetectorParameters & detectorParameters)
Python:
cv.aruco.CharucoDetector.setDetectorParameters(detectorParameters) -> None

◆ setRefineParameters()

void cv::aruco::CharucoDetector::setRefineParameters ( const RefineParameters & refineParameters)
Python:
cv.aruco.CharucoDetector.setRefineParameters(refineParameters) -> None

メンバ変数詳解

◆ charucoDetectorImpl

Ptr<CharucoDetectorImpl> cv::aruco::CharucoDetector::charucoDetectorImpl
protected

このクラス詳解は次のファイルから抽出されました: