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

ChArUcoボードは、チェスボードの白いマス目の内側にマーカーを配置した平面チェスボードである。 続きを読む...

#include <opencv2/objdetect/aruco_board.hpp>

Collaboration diagram for cv::aruco::CharucoBoard:

公開メンバ関数

 CharucoBoard ()
 
 CharucoBoard (const Size &size, float squareLength, float markerLength, const Dictionary &dictionary, InputArray ids=noArray())
 CharucoBoard コンストラクタ。
 
bool checkCharucoCornersCollinear (InputArray charucoIds) const
 ChArUcoマーカーが共線(一直線上)であるかどうかを確認する
 
std::vector< Point3fgetChessboardCorners () const
 CharucoBoard::chessboardCorners を取得する
 
Size getChessboardSize () const
 
bool getLegacyPattern () const
 
float getMarkerLength () const
 
std::vector< std::vector< int > > getNearestMarkerCorners () const
 CharucoBoard::nearestMarkerCorners を取得する。各charucoコーナーについて、各マーカーの最も近いマーカーコーナーID
 
std::vector< std::vector< int > > getNearestMarkerIdx () const
 CharucoBoard::nearestMarkerIdx を取得する。各charucoコーナーについて、ids配列内の最も近いマーカーのインデックス
 
float getSquareLength () const
 
void setLegacyPattern (bool legacyPattern)
 レガシーなチェスボードパターンを設定する。
 
- Public Member Functions inherited from cv::aruco::Board
 Board ()
 
 Board (InputArrayOfArrays objPoints, const Dictionary &dictionary, InputArray ids)
 共通の Board コンストラクタ。
 
void generateImage (Size outSize, OutputArray img, int marginSize=0, int borderBits=1) const
 平面ボードを描画する。
 
const DictionarygetDictionary () const
 このボードに使用されるマーカーの Dictionary を返す
 
const std::vector< int > & getIds () const
 ボード内のマーカーの識別子ベクトル(objPoints と同じサイズであるべき)
 
const std::vector< std::vector< Point3f > > & getObjPoints () const
 ボード内のすべてのマーカーコーナーのオブジェクト点の配列を返す。
 
const Point3fgetRightBottomCorner () const
 ボードの右下コーナーの座標を取得する。create() 関数の呼び出し時に設定される
 
void matchImagePoints (InputArrayOfArrays detectedCorners, InputArray detectedIds, OutputArray objPoints, OutputArray imgPoints) const
 ボード構成と検出されたマーカーのセットが与えられると、対応する画像点とオブジェクト点を返す。solvePnP() で使用できる
 

Additional Inherited Members

- Protected Member Functions inherited from cv::aruco::Board
 Board (const Ptr< Impl > &impl)
 
- Protected Attributes inherited from cv::aruco::Board
Ptr< Impl > impl
 

詳細説明

ChArUcoボードは、チェスボードの白いマス目の内側にマーカーを配置した平面チェスボードである。

ChArUcoボードの利点は、ArUcoマーカーの汎用性とチェスボードコーナーの精度の両方を提供することであり、これはキャリブレーションや姿勢推定にとって重要である。ボード画像は generateImage() メソッドを使って描画できる。

構築子と解体子の詳解

◆ CharucoBoard() [1/2]

cv::aruco::CharucoBoard::CharucoBoard ( const Size & size,
float squareLength,
float markerLength,
const Dictionary & dictionary,
InputArray ids = noArray() )
Python:
cv.aruco.CharucoBoard(size, squareLength, markerLength, dictionary[, ids]) -> <aruco_CharucoBoard object>

CharucoBoard コンストラクタ。

引数
sizex方向およびy方向のチェスボードのマス目の数
squareLengthsquareLength チェスボードの1マスの辺の長さ(通常はメートル単位)
markerLengthマーカーの辺の長さ(squareLength と同じ単位)
dictionaryマーカーの種類を示すマーカー辞書
ids使用するマーカーIDの配列。辞書の先頭のマーカーが、チェスボードの白いマス目を埋めるために使用される。
この関数の呼び出しグラフ:

◆ CharucoBoard() [2/2]

cv::aruco::CharucoBoard::CharucoBoard ( )
Python:
cv.aruco.CharucoBoard(size, squareLength, markerLength, dictionary[, ids]) -> <aruco_CharucoBoard object>

メンバ関数詳解

◆ checkCharucoCornersCollinear()

bool cv::aruco::CharucoBoard::checkCharucoCornersCollinear ( InputArray charucoIds) const
Python:
cv.aruco.CharucoBoard.checkCharucoCornersCollinear(charucoIds) -> retval

ChArUcoマーカーが共線(一直線上)であるかどうかを確認する

引数
charucoIdsフレームごとの charucoCorners 内の各コーナーの識別子リスト。
戻り値
ブール値。検出されたコーナーが直線を形成する場合は 1 (true)、形成しない場合は 0 (false)。コーナーが共線(true)の場合、solvePnP やキャリブレーション関数は失敗する。

charucoIDs 内のIDの数は、ボード内のチェスボードコーナーの数以下であるべきである。この関数は、charucoコーナーが直線上にあるかどうか(あれば true)を確認する。軸に平行な直線だけでなく、対角線やその他の直線も検出される。退化したケース: charucoIDs の数が 2 以下の場合、この関数は true を返す。

◆ getChessboardCorners()

std::vector< Point3f > cv::aruco::CharucoBoard::getChessboardCorners ( ) const
Python:
cv.aruco.CharucoBoard.getChessboardCorners() -> retval

CharucoBoard::chessboardCorners を取得する

◆ getChessboardSize()

Size cv::aruco::CharucoBoard::getChessboardSize ( ) const
Python:
cv.aruco.CharucoBoard.getChessboardSize() -> retval

◆ getLegacyPattern()

bool cv::aruco::CharucoBoard::getLegacyPattern ( ) const
Python:
cv.aruco.CharucoBoard.getLegacyPattern() -> retval

◆ getMarkerLength()

float cv::aruco::CharucoBoard::getMarkerLength ( ) const
Python:
cv.aruco.CharucoBoard.getMarkerLength() -> retval

◆ getNearestMarkerCorners()

std::vector< std::vector< int > > cv::aruco::CharucoBoard::getNearestMarkerCorners ( ) const

CharucoBoard::nearestMarkerCorners を取得する。各charucoコーナーについて、各マーカーの最も近いマーカーコーナーID

◆ getNearestMarkerIdx()

std::vector< std::vector< int > > cv::aruco::CharucoBoard::getNearestMarkerIdx ( ) const

CharucoBoard::nearestMarkerIdx を取得する。各charucoコーナーについて、ids配列内の最も近いマーカーのインデックス

◆ getSquareLength()

float cv::aruco::CharucoBoard::getSquareLength ( ) const
Python:
cv.aruco.CharucoBoard.getSquareLength() -> retval

◆ setLegacyPattern()

void cv::aruco::CharucoBoard::setLegacyPattern ( bool legacyPattern)
Python:
cv.aruco.CharucoBoard.setLegacyPattern(legacyPattern) -> None

レガシーなチェスボードパターンを設定する。

レガシー設定では、チェスボードのマス目の行数が偶数の場合は左上コーナーが白いマスで始まるチェスボードパターンを生成し、そうでない場合は黒いマスで始まる。この設定により、OpenCV 4.6.0 より前のバージョンで生成されたパターンとの互換性が保証される。https://github.com/opencv/opencv/issues/23152 を参照。

デフォルト値: false。


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