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

ChArUco 板是一個平面棋盤,其中標記放置在棋盤的白色方塊內。 更多...

#include <opencv2/objdetect/aruco_board.hpp>

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)
 設定舊版棋盤模式。
 
- 繼承自 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()
 

額外繼承的成員

- 繼承自 cv::aruco::Board 的保護成員函式
 Board (const Ptr< Impl > &impl)
 
- 繼承自 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 物件>

CharucoBoard 建構函式。

引數
sizex 和 y 方向的棋盤格數量
squareLengthsquareLength 棋盤格邊長(通常以米為單位)
markerLength標記邊長(與 squareLength 單位相同)
dictionary指示標記型別的標記字典
ids已用標記 ID 陣列。字典中的第一個標記用於填充白色棋盤格。
此函式的呼叫圖如下

◆ CharucoBoard() [2/2]

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

成員函式文件

◆ 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,否則返回 false)。檢測到與軸平行、對角線和其他直線。退化情況:如果 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) ->

設定舊版棋盤模式。

舊版設定在棋盤格行數為偶數時,從左上角的一個白色方框開始建立棋盤圖案;否則從一個黑色方框開始。此設定確保與 OpenCV 4.6.0 之前的版本建立的圖案相容。請參閱 https://github.com/opencv/opencv/issues/23152

預設值:false。


此類的文件由以下檔案生成