OpenCV 4.12.0
開源計算機視覺
載入中...
搜尋中...
無匹配項

ArUco 標記板更多...

#include <opencv2/objdetect/aruco_board.hpp>

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
 返回此板使用的標記字典
 
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()
 

保護成員函式

 Board (const Ptr< Impl > &impl)
 

保護屬性

Ptr< Impl > impl
 

詳細描述

ArUco 標記板

板是一組在 3D 空間中具有共同座標系的標記。標記板的常見形式是平面 (2D) 板,但可以使用任何 3D 佈局。一個 Board 物件由以下部分組成:

  • 標記角的物體點,即它們相對於板系統的座標。
  • 指示板中標記型別的字典
  • 板中所有標記的識別符號。

建構函式 & 解構函式文件

◆ Board() [1/3]

cv::aruco::Board::Board ( InputArrayOfArrays objPoints,
const Dictionary & dictionary,
InputArray ids )
Python
cv.aruco.Board(objPoints, dictionary, ids) -> <aruco_Board object>

常用 Board 建構函式。

引數
objPoints板中所有標記角的物體點陣列
dictionary此板使用的標記字典
ids板中標記識別符號的向量

◆ Board() [2/3]

cv::aruco::Board::Board ( )
Python
cv.aruco.Board(objPoints, dictionary, ids) -> <aruco_Board object>

◆ Board() [3/3]

cv::aruco::Board::Board ( const Ptr< Impl > & impl)
保護
Python
cv.aruco.Board(objPoints, dictionary, ids) -> <aruco_Board object>

成員函式文件

◆ generateImage()

void cv::aruco::Board::generateImage ( Size outSize,
OutputArray img,
int marginSize = 0,
int borderBits = 1 ) const
Python
cv.aruco.Board.generateImage(outSize[, img[, marginSize[, borderBits]]]) -> img

繪製一個平面板。

引數
outSize輸出影像的畫素大小。
img帶有板的輸出影像。此影像的大小將為 outSize,板將位於中心,保持板的比例。
marginSize輸出影像中板的最小邊距(畫素)
borderBits標記邊框的寬度。

此函式返回板的影像,可供列印。

◆ getDictionary()

const Dictionary & cv::aruco::Board::getDictionary ( ) const
Python
cv.aruco.Board.getDictionary() -> retval

返回此板使用的標記字典

◆ getIds()

const std::vector< int > & cv::aruco::Board::getIds ( ) const
Python
cv.aruco.Board.getIds() -> retval

板中標記識別符號的向量(應與 objPoints 大小相同)

返回
標記識別符號的向量

◆ getObjPoints()

const std::vector< std::vector< Point3f > > & cv::aruco::Board::getObjPoints ( ) const
Python
cv.aruco.Board.getObjPoints() -> retval

返回板中所有標記角的物體點陣列。

每個標記按此順序包含其 4 個角點

  • objPoints[i][0] - 第 i 個標記的左上點
  • objPoints[i][1] - 第 i 個標記的右上點
  • objPoints[i][2] - 第 i 個標記的右下點
  • objPoints[i][3] - 第 i 個標記的左下點

標記按特定順序放置——逐行,每行從左到右。對於 M 個標記,大小為 Mx4。

◆ getRightBottomCorner()

const Point3f & cv::aruco::Board::getRightBottomCorner ( ) const
Python
cv.aruco.Board.getRightBottomCorner() -> retval

獲取板右下角的座標,在呼叫 create() 函式時設定

◆ matchImagePoints()

void cv::aruco::Board::matchImagePoints ( InputArrayOfArrays detectedCorners,
InputArray detectedIds,
OutputArray objPoints,
OutputArray imgPoints ) const
Python
cv.aruco.Board.matchImagePoints(detectedCorners, detectedIds[, objPoints[, imgPoints]]) -> objPoints, imgPoints

給定一個板配置和一組檢測到的標記,返回相應的影像點和物體點,可用於 solvePnP()

引數
detectedCorners板中檢測到的標記角點列表。對於 cv::Board 和 cv::GridBoard,該方法期望 std::vector<std::vector<Point2f>> 或 std::vector<Mat> 包含 Aruco 標記角點。對於 cv::CharucoBoard,該方法期望 std::vector<Point2f> 或 Mat 包含 ChAruco 角點(與 Aruco 標記匹配的棋盤格角點)。
detectedIds每個標記或 ChAruco 角點的識別符號列表。對於任何 Board 類,該方法期望 std::vector<int> 或 Mat
objPoints板座標空間中的標記點向量。對於任何 Board 類,該方法期望 std::vector<cv::Point3f> objectPoints 或 cv::Mat
imgPoints影像座標空間中的標記點向量。對於任何 Board 類,該方法期望 std::vector<cv::Point2f> objectPoints 或 cv::Mat
另請參見
solvePnP

成員資料文件

◆ impl

Ptr<Impl> cv::aruco::Board::impl
保護

此類的文件是從以下檔案生成的